验证码模块的实现
1. 实现步骤
1.函数创建一个100,30的底图
2.对底图加入颜色区域
3.设置内容和之间的距离
4.添加干扰点数
5.增加干扰线
6.销毁图片
2.实现代码
<?php
$image = imagecreatetruecolor(100,30);//通过该函数创建底图
$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF,做个白色填充
imagefill($image,0,0,$bgcolor);//填充到底图中
//实现验证码
for($i=0;$i<4;$i++)
{//循环出四个数字
$fontsize=6;//字体的大小为6
//定义字体的颜色
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
//定义字体的取值范围
$fontcontent=rand(0,9);
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
//在范围内随机定义坐标
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/**
imagestring() 用 col 颜色将字符串 s 画到 image 所代表的
图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角
为 0,0)。如果font 是 1,2,3,4 或 5,则使用内置字体。
*/
header('content-type: image/png');//声明输出为png
imagepng($image);//输出图片
//销毁
imagedestroy($image);
?>
效果图:
注意:
1) imagecreatetruecolor默认输出是黑色的背景 , 你可以通过 imagecolorallocate ()函数给背景填充颜色
2) 输出图片前,必须提前输出header信息 声明
3) 可以尝试封装成函数,方便以后调用