这让我很生气。如果你告诉我为什么我在本地xampp安装中看到这个红色方块,我真的很感激。如果我在远程服务器(http://www.arreglaordenador.com/numberimage2.php)中运行代码,我会看到黑色而不是红色的方块。你有什么想法吗?
<?php
$im = imagecreatetruecolor(100, 100);
// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
由于
答案 0 :(得分:2)
这是因为你使用imagecreatetruecolor()
函数来创建图像而你的GD版本有bug。在某些GD版本中,imagecreatetruecolor()
不会覆盖某些颜色函数(我不记得哪个)。你有两个解决方案。
或
imagecreate()
功能创建图像标识符imagecreatetruecolor()
。答案 1 :(得分:1)
您可以先尝试分配不同的颜色吗?
$black = imagecolorallocate($im, 0, 0, 0);
$red = imagecolorallocate($im, 255, 0, 0);
我不确切地知道为什么,但这看起来像是一个透明度问题(即由于某种原因选择红色作为透明色)。
最有可能的是,这是由于不同的GD版本。你能比较一下你在本地和远程哪一个吗?
答案 2 :(得分:1)
根据imagecreatetruecolor()
documentation,您的服务器可能没有安装正确版本的GD图像库。
答案 3 :(得分:0)
这绝对是您服务器上的GD问题,因为您的代码在我的本地WAMP和我的托管帐户上运行良好。