主要用到php中的GD函数,包括 imagecreate(); imagecolorallocate();imagestring();header(");imagepng();ImageColorallocate;
步骤:
1:生成一副图片
2:给图片填充背景颜色
3:产生随机数
4:存入到Session
5:将随机数嵌入图片
6:添加一些干扰元素
产生0~f的代码如下:
session_start();
$im = imagecreate(90, 20);
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
$gray = ImageColorAllocate($im, 200,200,200);
$s="";
for($i=0;$i<4;$i++)
{
$random=dechex(rand(0, 15));
$s.=$random." ";
}
$_SESSION['code'] = $s;
imagestring($im, 5, 10, 3,$s , $textcolor);
for($i=0;$i<400;$i++){ //加入干扰象素 {
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%90 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
header("Content-type: image/png");
imagepng($im);
dechex(rand(0, 15));生成0~f的随机数,4个随机数分别以空格隔开,为了好看~