<?php
header("Content-type:text/html;charset=utf-8");
header("Content-type:image/png");
$num=;
$str=getCode($num,);//获取随机数
$width=$num*;
$height=;
$im=imagecreatetruecolor($width,$height);//创建一个画布
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$bg=imagecolorallocate($im,,,);
//开始绘图
imagefill($im,,,$bg);
imagerectangle($im,,,$width-,$height-,$color); //添加随机干扰点
for($i=;$i<;$i++)
{
$c=imagecolorallocate($im,rand(,),rand(,),rand(,));//随机一个颜色
imagesetpixel($im,rand(,$width),rand(,$height),$c);
}
//添加随机干扰线
for($i=;$i<;$i++)
{
imageline($im,rand(,$width),rand(,$height),rand(,$width),rand(,$height),$c);
}
//绘制验证码内容
for($i=;$i<$num;$i++)
{
imagettftext($im,,rand(-,),+(*$i),,$color[rand(,)],"c:/windows/fonts/simhei.ttf",$str[$i]);
}
imagepng($im);
imagedestroy($im);
//获取随机数的函数
function getCode($m=,$type=)
{
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$t=array(,,strlen($str)-);//设置分隔符;
$c="";
for($i=;$i<$m;$i++)
{
$c.=$str[rand(,$t[$type])];
}
return $c;
}
?>