创建一个验证码

<?php
header('Content-type:image/jpeg');//声明要输出一个图像

1 $img = imagecreatetruecolor(200,50);//画布
2 
3 $color1 = imagecolorallocate($img,200,50,80);//画布颜色
4 $color2 = imagecolorallocate($img,50,50,200);//线段颜色
5 $color3 = imagecolorallocate($img,30,30,30);//点颜色
6 
7 imagefill($img,0,0,$color1);//填充画布

 

1 for($i=0;$i<3;$i++){//干扰线段
2     imageline($img,rand(0,100),rand(0,50),rand(100,199),rand(0,50),$color2);
3 }
4 
5 for($i=0;$i<100;$i++){//干扰元素
6     imagesetpixel($img,rand(0,199),rand(0,49),$color3);
7 }

 

 1 $element = 'abcdefghijklmnopqrstxzyABCDEFGHIJKLMNOPQRSTXYZ0123456789';//随机元素
 2 $string = '';//创建一个空字符串
 3 for($i=0;$i<4;$i++){
 4     $string .= substr($element,mt_rand(0,strlen($element)),1);//通过substr函数获取$element随机的一个子字符串
 5 }
 6 
 7 //imagestring($img,5,rand(0,150),rand(0,30),$string,$color2);//第二个参数是字体大小,1-5,
 8 
 9 $fontsize = 30;
10 imagettftext($img,$fontsize,0,rand(0,25),rand(30,50),$string_color,'/Apache24/htdocs/font.ttf',$string);//与imagestring函数不同,第二个参数字体大小可以自由设置,不受1-5的限制,还可以自由设置字体的格式

 

1 imagejpeg($img);//输出图像
2 
3 imagedestroy($img);//释放资源

posted @ 2020-11-27 11:23  不是计算机  阅读(96)  评论(0)    收藏  举报