1.
3./*生成验证码*/ $code=''; for($i=0;$i<$num;$i++){ $Xi=mt_rand(0,strlen($str)/2); if($Xi%2) $Xi+=1; $code.=substr($str,$Xi,2); } /*创建图片*/ $im=imagecreatetruecolor($w,$h); $bkcolor=imagecolorallocate($im,250,250,250); imagefill($im,0,0,$bkcolor);
4./*创建干扰线等*/ for($i=0;$i<15;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); imagearc($im,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor); } for($i=0;$i<255;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); imagesetpixel($im,mt_rand(0,$w),mt_rand(0,$h),$fontcolor); } /*将验证码写入到图片中*/ for($i=0;$i<4;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand(0,120),mt_rand(0,120)); $codex=iconv('GB2312','UTF-8',substr($code,$i*2,2)); imagettftext($im,mt_rand(14,18),mt_rand(-60,60),30*$i+20,mt_rand(30,35),$fontcolor,$fontface,$codex); } /*输入图片*/ imagepng($im); imagedestroy($im);}
5.最终结果如图所示:################################## #### 纯属凑字 #### ##################################