PHP defines the validation code graphic size function
?
function Vcode ($num =4, $size =20, $width =0, $height =0) {
$width && $width = $num * $size *4/5+5;
! $height && $height = $size + 10;
Removed 0 1 O l etc
$str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW";
$code = ';
for ($i =0; $i < $num; $i + +) {
$code. = $str [Mt_rand (0, strlen ($str)-1)];
}
Drawing images
$im = Imagecreatetruecolor ($width, $height);
Define the color you want to use
$back _color = Imagecolorallocate ($im, 235, 236, 237);
$boer _color = Imagecolorallocate ($im, 118, 151, 199);
$text _color = imagecolorallocate ($im, Mt_rand (0,200), Mt_rand (0,120), Mt_rand (0,120));
Draw background
Imagefilledrectangle ($im, 0,0, $width, $height, $back _color);
Draw a border
Imagerectangle ($im, 0,0, $width-1, $height-1, $boer _color);
Draw Interference Line
For ($i =0 $i <5; $i + +) {
$font _color = imagecolorallocate ($im, Mt_rand (0,255), Mt_rand (0,255), Mt_rand (0,255));
Imagearc ($im, Mt_rand (-$width, $width), Mt_rand (-$height, $height), Mt_rand ($width *2), Mt_rand ($height *2), Mt_ Rand (0,360), Mt_rand (0,360), $font _color);
}
Draw the jamming point
For ($i =0 $i <50; $i + +) {
$font _color = imagecolorallocate ($im, Mt_rand (0,255), Mt_rand (0,255), Mt_rand (0,255));
Imagesetpixel ($im, Mt_rand (0, $width), Mt_rand (0, $height), $font _color);
}
Picture Verification Code
@imagefttext ($im, $size, 0, 5, $size +3, $text _color, ' C:\WINDOWS\FONTS\SIMSUN.TTC ', $code);
Header ("cache-control:max-age=1, s-maxage=1, No-cache, must-revalidate");
Header ("Content-type:image/png");
Imagepng ($im);
Imagedestroy ($im);
}
Vcode (4,20);
?>