Home > php教程 > php手册 > PHP graphics operation to generate image verification code

PHP graphics operation to generate image verification code

WBOY
Release: 2016-10-20 10:09:13
Original
1525 people have browsed it

The simple verification code is actually outputting a few characters in the image, which can be achieved through the imagestring function.

But in terms of processing, in order to make the verification code more secure and prevent other programs from automatically recognizing it, it is often necessary to perform some interference processing on the verification code. Usually, some noise points are drawn, interference line segments are drawn, and the output characters are tilted and distorted, etc. operate.

You can use imagesetpixel to draw points to achieve noise interference, but drawing only one point is of little use, so loops are often used to draw randomly.

<br>例子:
Copy after login

$img = imagecreatetruecolor(100, 40);
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);
$green = imagecolorallocate($img, 0x00, 0xFF, 0x00);
$ white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
imagefill($img,0,0,$white);
//Generate a random verification code
$code = '';
for($i = 0 ; $i < 4; $i++) { //4-digit verification code
$code .= rand(0, 9);
}
imagestring($img, 5, 10, 10, $code, $black );
//Add noise interference
for($i=0;$i<50;$i++) {
imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); //imagesetpixel — draw a single pixel, syntax: bool imagesetpixel ( resource $image , int $x , int $y , int $color )
imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green);
}
//Output verification code
header("content-type: image/png");
imagepng($img); //In PNG format Output the image to the browser or file
imagedestroy($img); //After the image processing is completed, use the imagedestroy() instruction to destroy the image resource to release memory. Although this function is not necessary, it is a good habit to use it.

?>

<br><br><br>
Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template