<?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;
}
?>