<?php
// Due to the height and width of the captcha image is fixed, not so easy to use, change will be diffic
// Declare the following code to the browser is displayed as a picture
header(‘Content-type:image/jpeg‘);
// Width 120
$width=120;
// Height 40
$height=40;
// Draws an image that 120*40
$img = imagecreatetruecolor($width, $height);
// Random letters in the captcha
$ele = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$string = "";
for($i = 0; $i < 4; $i++) {
$string.=$ele[rand(0,count($ele)-1)];
}
// The image‘s background color
$colorBg = imagecolorallocate($img, rand(200,255), rand(200,255), rand(200,255));
// The image‘s border color
$colorBorder = imagecolorallocate($img, rand(200,255), rand(200,255), rand(200,255));
// font color
$colorString = imagecolorallocate($img, rand(10,100), rand(10,100), rand(10,100));
// Fill color to the image
imagefill($img, 0, 0, $colorBg);
// draw the rectangle
imagerectangle($img, 0, 0, $width-1, $height-1, $colorBorder);
for($i = 0; $i < 100; $i++) {
// Using Stochastic methods to draw points
imagesetpixel($img, rand(0,$width-1), rand(0,$height-1), imagecolorallocate($img,rand(100,150), rand(100,150), rand(100,150)));
}
// Draws a line
for($i = 0; $i < 3; $i++) {
imageline($img, rand(0,$width/2), rand(0,$height/2), rand($width/2,$width), rand(0,$height), imagecolorallocate($img,rand(100,150), rand(100,150), rand(100,150)));
}
// font
imagettftext($img, rand(15,20), rand(-5,10), rand(10,20), rand(30,35), $colorString, ‘GARTON.TTF‘, $string);
// Output Image
imagejpeg($img);
// release the memory being used by the image, and then clear the graphic
imagedestroy($img);
?>
此代码仅供新手参考,大神若有意见请提出,小弟感激不尽
以上代码纯属本人手打,转载请注明!
使用php写出一个验证码图片,由于宽度被定死了,所以操作起来不太方便,之后尽量写灵活,成为一个可调用的函数。
原文:http://www.cnblogs.com/sifangku/p/7352978.html