PHP 验证码绘制

<?php

/*设定画板尺寸*/

$width = 130;

$height = 60;

 

/*新建一个真彩色图像*/

$img = imagecreatetruecolor($width, $height);

 

/*预定义色彩取值范围*/

$ranColor = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));

$white = imagecolorallocate($img,255,255,255);

 

//画一个 同样大写的 矩形覆盖默认背景(黑色) 通用白色

imagefilledrectangle($img,0,0,130,60,$white);

 

//创建需要画出的字符数组

$str = "abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ123456789";  

$str_array = "";

for($i = 0; $i < 5; $i++){//控制需要几个字符

$str_array = $str_array.$str[rand(0,strlen($str)-1)];

}

 

/*自定义字体 斜度*/

imagettftext($img,30,rand(-7,7),0,50,$ranColor,'calibri.ttf',$str_array);

 

/*随机画雪花*/

for($i = 0; $i < 60; $i++){

imagesetpixel ( $img, rand(0,130), rand(0,60), $ranColor );

}

/*设定划线 线条宽度*/

imagesetthickness($img,2);

 /*随机划线*/

for($m=0;$m<5;$m++){

imageline ( $img, rand(0,130), rand(0,60), rand(0,130), rand(0,60),$ranColor );

}

 

header('content-type:image/gif');

/*以 GIF 格式将图像输出到浏览器或文件*/

imagegif($img);

 

 

/*销毁图像 释放内存*/ imagedestroy($img);

?>

posted @ 2015-03-29 10:22  havoe  阅读(201)  评论(0编辑  收藏  举报