PHP中文汉字验证码

2019-04-11 02:28:23丽君

$image_x=110; 
$image_y=110; 
$im = imagecreate($image_x,$image_y);  
$bkg = ImageColorAllocate($im,255,255,255);  
$fnt = "hb.ttf"; //显示的字体样式 
$white=imagecolorallocate($im,234,185,95); 
imagearc($im, 150, 8, 20, 20, 75, 170, $white); 
imagearc($im, 180, 7,50, 30, 75, 175, $white); 
imageline($im,20,20,180,30,$white); 
imageline($im,20,18,170,50,$white); 
imageline($im,25,50,80,50,$white); 
$noise_num=3000; 
$line_num=80; 
imagecolorallocate($im,0xff,0xff,0xff); 
$rectangle_color=imagecolorallocate($im,0xAA,0xAA,0xAA); 
$noise_color=imagecolorallocate($im,0x00,0x00,0x00); 
$font_color=imagecolorallocate($im,0x00,0x00,0x00); 
$line_color=imagecolorallocate($im,0x00,0x00,0x00); 
for($i=0;$i<$noise_num;$i++) 
imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color); 
for($i=0;$i<$line_num;$i++) 
imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color); 
$randnum=rand(0,strlen($str)-4); 
if ($randnum%2)$randnum+=1; 
$str1=substr($str,$randnum,4); 
$str2 = iconv("GB2312","UTF-8",$str1);//验证汉字在$str1里面 
//www.dc9.cn//sipo 2007-4-3制作 
ImageTTFText($im, rand(28,32), rand(0,70), rand(25,27), rand(70,100), $font_color, $fnt, $str2); 
ImagePNG($im);  
ImageDestroy($im); 
?>  
相关文章 大家在看