session_start();
//生成验证码底图,默认背景颜色为黑色
$image=imagecreatetruecolor(130,40);
$bgcolor=imagecolorallocate($image, 255, 255, 255);
// $bordercolor=imagecolorallocate($image, 112, 200, 255);
// imagefilltoborder($image,0,0,$bordercolor,$bordercolor);
imagefill($image, 0, 0, $bgcolor);
//在白色背景区域随机生成4个数字加字母
// for ($i=0; $i <4 ; $i++) {
// $fontsize=6;
// //随机生成字体颜色
// $fontcolor=imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
// $fontcontent=rand(0,9);
// $x=(25*$i)+rand(5,10);
// $y=rand(5,10);
// imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
// }
// 生成随机四个字母与数字组合
$code='';
for ($i=0; $i < 4; $i++) {
$fontsize=20;
$fontcolor=imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$data='abcdefghijkmnopqrstuvwxy3456789';
$content=substr($data,rand(0,strlen($data)),1);
$code.=$content;
$x=(30*$i)+rand(5,10);
$y=rand(20,30);
// imagestring($image, $fontsize, $x, $y, $content, $fontcolor);
imagettftext ($image ,$fontsize , 0 , $x , $y , $fontcolor ,'C:/Windows/Fonts/cour.ttf', $content);
}
// echo $code;die;
$_SESSION['checkcode']=$code;
//在白色区域生成干扰像素点
for ($i=0; $i <200; $i++) {
$pixelcolor=imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));
imagesetpixel($image, rand(1,129), rand(1,39), $pixelcolor);
}
//在白色区域生成干扰线条
// for ($i=0; $i <3; $i++) {
// $linecolor=imagecolorallocate($image, rand(10,200), rand(20,200), rand(50,200));
// imageline($image, rand(1,129), rand(1,39), rand(1,129), rand(1,39), $linecolor);
// }
header('content-type:image/png');
imagepng($image);
imagedestroy($image);
?>
一键复制
编辑
Web IDE
原始数据
按行查看
历史