修改thinkphp验证码类,使之字符位置自适应。
16-12-02 19:22
字数 562
阅读 4581
已编辑
thinkphp是国内非常流行的php框架,因丰富的功能,完善的开发文档颇受phper喜爱。thinkphp中集成了很多非常好用的工具类。
其中验证码类就是日常使用频率很高的功能,但是在验证码图片宽度很大的时候,会出现字符非常紧凑的情况,很影响美观,如下图:
于是想着修改下代码,让字符能尽量分散居中,首先计算下X轴上字符的位置。
然后打开文件,简单修改下代码。
for ($i = 0; $i<$this->length; $i++) {
$code[$i] = $this->codeSet[mt_rand(0, strlen($this->codeSet)-1)];
//$codeNX += mt_rand($this->fontSize*1.2, $this->fontSize*1.6);修改前
// 优化字符x轴位置 by luz
$codeNX = (($this->imageW / $this->length) / 2 ) * ((2 * ($i + 1)) - 1);//修改后
imagettftext($this->_image, $this->fontSize, mt_rand(-40, 40), $codeNX,$this->fontSize*1.6,$this->_color,$this->fontttf, $code[$i]);
}
然后看下效果:
这样修改只是为了好看,验证码位置应该是随机的。
1人点赞>
请登录后发表评论
文章归档
最新文章
最受欢迎
22-11-16 10:13
21-10-18 12:11
21-10-17 23:27
20-08-18 17:58
20-01-06 12:12
不赖
没毛病!