PHP。 Imagecolorallocate返回false

时间:2011-07-05 09:10:22

标签: php image gd

我使用了一些代码:

$colors = array ();
$colors['test'] = imagecolorallocate($img, 0 ,1 ,2);
....

直到我将图片更改为其他为止 之后imagecolorallocateimagecolorallocatealpha返回false
$img是正确的图片,即imagepng正确打印

如何让imagecolorallocate工作?

1 个答案:

答案 0 :(得分:1)

评论此功能的文档:

  

如果你甚至处于这样的情况   没有分配你想要的颜色   可能是因为你的图像颜色   分配表。 GIF和8位PNG   图像非常容易受此影响。

     

如果你使用GIF和PNG试试   从桌子上掉下一个颜色,   应该让你分配另一个。

如果索引图像中的源图像(8位或更少),请确保有额外颜色的空间。例如。一个8位的图像可能没有使用调色板中的所有256种颜色,在这种情况下该功能应该成功,否则不会。

修改

我查看了你的图像,它实际上是一个使用所有256种颜色的8位PNG图像。尝试将其转换为真彩色图像(通过photoshop或将图像复制到通过imagecreatetruecolor()创建的GD图像);进行所有编辑,然后保存为GIF。