本文实例讲述了thinkPHP中验证码的简单实现方法。分享给大家供大家参考,具体如下:
运行效果图如下:
$width ? $length * 10 + 10 : $width;
if ($type != 'gif' && function_exists('imagecreatetruecolor')) {
$im = imagecreatetruecolor($width,$height);
} else {
$im = imagecreate($width,$height);
}
$r = Array(225,255,223);
$g = Array(225,236,237,255);
$b = Array(225,166,125);
$key = mt_rand(0,3);
$backColor = imagecolorallocate($im,$r[$key],$g[$key],$b[$key]); //背景色(随机)
$borderColor = imagecolorallocate($im,100,100); //边框色
imagefilledrectangle($im,$width - 1,$height - 1,$backColor);
imagerectangle($im,$borderColor);
$stringColor = imagecolorallocate($im,mt_rand(0,200),120),120));
// 干扰
for ($i = 0; $i < 10; $i++) {
imagearc($im,mt_rand(-10,$width),$height),mt_rand(30,300),mt_rand(20,55,44,$stringColor);
}
for ($i = 0; $i < 25; $i++) {
imagesetpixel($im,$stringColor);
}
for ($i = 0; $i < $length; $i++) {
imagestring($im,5,$i * 10 + 5,mt_rand(1,8),$randval{$i},$stringColor);
}
Image::output($im,$type);
}
2.页面端