阅读量:0
可以使用imagestring()
函数生成随机验证码,并使用imagecolorallocate()
函数为验证码添加颜色。
下面是一个示例代码:
<?php // 生成随机验证码 $code = generateRandomCode(6); // 创建一个宽度为 100px、高度为 30px 的图像 $image = imagecreate(100, 30); // 为图像分配背景颜色 $backgroundColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $backgroundColor); // 为验证码添加文字颜色 $textColor = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)); // 将验证码绘制到图像上 imagestring($image, 5, 10, 8, $code, $textColor); // 设置图像的 MIME 类型为 image/png header('Content-type: image/png'); // 输出图像 imagepng($image); // 销毁图像资源 imagedestroy($image); // 生成指定长度的随机验证码 function generateRandomCode($length) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $code = ''; for ($i = 0; $i < $length; $i++) { $code .= $characters[rand(0, strlen($characters) - 1)]; } return $code; } ?>
这段代码会生成一个宽度为 100px、高度为 30px 的图像,图像背景为白色,验证码文字颜色为随机生成的颜色。然后将图像以 PNG 格式输出。