<?
error_reporting(0);
session_start();
session_register("code");
$_SESSION["code"]="";

$width="58";
$height="22";

for($i=1;$i<=4;$i++)
{
	$temptxt=rand(0,9);
	$code.=$temptxt;
}

$_SESSION["code"]=$code;


// 所需函数是否存在
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");

if(function_exists('imagecreate') && function_exists("imagecolorset") && function_exists("imagecopyresized") && function_exists("imagecolorallocate") && function_exists("imagesetpixel") && function_exists("imagechar") && function_exists("imagecreatefromgif") && function_exists("imagepng"))
{
	$im=imagecreate($width,$height);
	$backgroundcolor=imagecolorallocate($im,255,255,255);
	

	$numorder=array(1,2,3,4);
	//写入字符
	for($i=0;$i<=3;$i++)
	{
		$x=$i*10 + mt_rand(0,5) - 2;
		$y=mt_rand(0,3);
		$textcolor=imagecolorallocate($im,mt_rand(50,255),mt_rand(50,128),mt_rand(50,255));
		imagechar($im,5,$x+3,$y+3,$code[$i],$textcolor);
	}
	
	//加入横线
	$linenum=mt_rand(10,32);
	for($i=0;$i<=$linenum;$i++)
	{
		$linecolor=imagecolorallocate($im,mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
		$linex=rand(0,$width);
		$liney=rand(0,height);
		imageline($im,$linex,$liney,$linex + mt_rand(0, 4) - 2, $liney + mt_rand(0, 4) - 2,$linecolor);
	}
	
	//加入干扰像素
	
	for($i=0;$i<=40;$i++)
	{
		$pointcolor = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 255), mt_rand(50, 255));
		imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pointcolor);
	}
	
	//设置外框
	
	$bordercolor = imagecolorallocate($im , 150, 150, 150);
	imagerectangle($im, 0, 0, $width-1, $height-1, $bordercolor);
	
	header('Content-type: image/png');
	imagepng($im);
	imagedestroy($im);

	
}
?>