PHP中生成验证码
//生成图片
$im =
imagecreatetruecolor(100,30);
//生成颜色,当第一次调用生成颜色的方法,是生成背景颜色,默认是黑色
//如果想自定义背景颜色,用到imagefill函数
$bg
=
imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$bg);
//第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色
$te
= imagecolorallocate($im,0,0,0);
$te2 = imagecolorallocate($im,255,255,255);
//生成干扰线,就是画线
$posLineX1 = rand(6,30);
$posLineX2 =
rand(30,60);
for($i=0;$i<5;$i++){
$posLinY1=rand(2,10);
$posLinY2=rand(11,28);
imageline($im,$posLineX1,$posLinY1,$posLineX2,$posLinY2,$te2);
$posLineX1
+= rand(30,60);
$posLineX2 += rand(61,98);
}
for($i=0;$i<90;$i++){
$te3 =
imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand(2,100),rand(2,30),$te3);
}
//在图片上面生成文字
//imagestring($im,5,rand(3,70),rand(3,15),$rand,$te);
$posX = rand(6,45);
for($i=0;$i<4;$i++){
$posY = rand(2,15);
imagestring($im,rand(2,5),$posX,$posY,substr($rand,$i,1),$te);
$posX
+= rand(8,20);
}
//要把php当成图片输出,必须给文件一个头申明
ob_clean();
header("Content-type:image/jpeg");
//最终生成图片
imagejpeg($im);
最终生成图片的格式可以是 JPEG 和gif 还有 PNG
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。