<?php header("Content-type:text/html;charset=utf-8"); header("Content-type:image/png"); $num=4; $str=getCode($num,2);//获取随机数 $width=$num*20; $height=30; $im=imagecreatetruecolor($width,$height);//创建一个画布 $color[]=imagecolorallocate($im,34,52,210); $color[]=imagecolorallocate($im,235,10,54); $color[]=imagecolorallocate($im,255,255,64); $color[]=imagecolorallocate($im,111,230,89); $color[]=imagecolorallocate($im,225,0,113); $bg=imagecolorallocate($im,240,240,240); //开始绘图 imagefill($im,0,0,$bg); imagerectangle($im,0,0,$width-1,$height-1,$color); //添加随机干扰点 for($i=0;$i<200;$i++) { $c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//随机一个颜色 imagesetpixel($im,rand(0,$width),rand(0,$height),$c); } //添加随机干扰线 for($i=0;$i<5;$i++) { imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c); } //绘制验证码内容 for($i=0;$i<$num;$i++) { imagettftext($im,20,rand(-40,40),0+(10*$i),24,$color[rand(0,4)],"c:/windows/fonts/simhei.ttf",$str[$i]); } imagepng($im); imagedestroy($im); //获取随机数的函数 function getCode($m=4,$type=0) { $str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $t=array(9,35,strlen($str)-1);//设置分隔符; $c=""; for($i=0;$i<$m;$i++) { $c.=$str[rand(0,$t[$type])]; } return $c; } ?>
时间: 2024-10-22 07:51:24