<?php
session_start();
header("Content-type: image/png");
$width = 100; //宽度
$height = 40; //高度
$length = 4; //位数
$code = '';
for ($i = 0; $i < $length; $i++) { $code .= rand(0, 9);}
$_SESSION['code'] = $code; //存验证码
$image = imagecreatetruecolor($width, $height);
$bgColor = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $bgColor);
//打印验证码
$font = 6;
for ($i = 0; $i < $length; $i++) {
$x = $width / ($length + 1) * ($i + 1) + rand(-5, 5);
$y = $height / 2 - $font + rand(-5, 5);
$color = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));
imagestring($image, $font, $x, $y, $code[$i], $color);
}
//随机线条干扰8
for ($i = 0; $i < 8; $i++) {
$x1 = rand(0, $width); $y1 = rand(0, $height);
$w2 = rand(0, $width); $h2 = rand(0, $height);
$color = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));
imageline($image, $x1, $y1, $w2, $h2, $color);
}
//随机噪点80
for ($i = 0; $i < 80; $i++) {
$x = rand(0, $width); $y = rand(0, $height);
$color = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));
imagesetpixel($image, $x, $y, $color);
}
//输出图片并销毁内存
imagepng($image);
imagedestroy($image);
?>
01-02
2328
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)