验证码生成基本代码:
<?php
header("Content-type: image/png");//创建图像
$im = @imagecreate(200, 50) or die("创建图像资源失败");
$bg = imagecolorallocate($im, 204, 204, 204);
$red = imagecolorallocate($im, 255, 0, 0);
imagestring($im, 5, 0, 0, "Hello world!", $red);
imagepng($im);
imagedestroy($im);
?>
验证码出现黑背景:
imagecreate()函数创建的图像默认为黑色背景。
imagecolorallocate()函数第一次调用填充背景颜色,第二次调用设定文字颜色。如果两次调用设置出现错误,如phpcmsV9中验证码生成类中设置参数时将二者颠倒( phpcms\libs\classes\checkcode.class.php中doimage()函数 ),在php较高版本
中验证码图片正常,而在php较老版本中则出现验证码图片为黑色背景现象。