打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决php gd函数 ImageCreatetruecolor 做背景颜色只显示黑色的问题
解决php gd函数 ImageCreatetruecolor 做背景颜色只显示黑色的问题


最近学php项目的开发,遇到不少问题。用php做验证码,发现使用gd函数imagecolorallocate(X,X,X)时,无论把x设成三原色的何值都显示黑色背景,无法改变背景色,

如下代码:
<?php
/*
* 验证码代码
*/
session_start();
for ($i=0;$i<4;$i++)
{
$rand.=dechex(rand(1,15));
     $_SESSION[check_pic]=$rand;
}
//echo $rand;
$im = ImageCreatetruecolor(60,20);
$background = imagecolorallocate($im, 125, 255, 255);
$fontcolor = imagecolorallocate($im, 0, 0, 0);
imagestring($im,6,rand(1,25),rand(1,5),$rand, $fontcolor);
header("Content-type: image/jpeg");
imagejpeg($im);
?>

在谷歌,baidu里找了整整半天,终于找到答案

问题的关键是ImageCreatetruecolor函数的局限性,换成另外一个函数就好了ImageCreate ,ImageCreate 的用法与ImageCreatetruecolor一样。

下面是我更改后的代码:


<?php
/*
* 验证码代码
*/
session_start();
for ($i=0;$i<4;$i++)
{
$rand.=dechex(rand(1,15));
     $_SESSION[check_pic]=$rand;
}
//echo $rand;
$im = ImageCreate (60,20);
$background = imagecolorallocate($im, 125, 255, 255);
$fontcolor = imagecolorallocate($im, 0, 0, 0);
imagestring($im,6,rand(1,25),rand(1,5),$rand, $fontcolor);
header("Content-type: image/jpeg");
imagejpeg($im);
?>



代码没有问题,可以自行测试一下。


各位转载的兄弟姐妹们,希望加资料来自:http://hi.baidu.com/binbin_1988/blog/item/f1cc5025daa02439c89559f7.html 给我博客加点人气啊。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一起学习PHP中GD库的使用(二)
php生成随机字符串和验证码
PHP的GD库GD函数详解-创建图像 - PHP - senir的blog
支持中文字母数字、自定义字体php验证码代码.txt
[验证码]PHP生成图片验证码
PHP也可以玩转验证码开发
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服