我使用了一些代码:
$colors = array ();
$colors['test'] = imagecolorallocate($img, 0 ,1 ,2);
....
直到我将图片更改为其他为止
之后imagecolorallocate
和imagecolorallocatealpha
返回false
$img
是正确的图片,即imagepng
正确打印
如何让imagecolorallocate
工作?
答案 0 :(得分:1)
评论此功能的文档:
如果你甚至处于这样的情况 没有分配你想要的颜色 可能是因为你的图像颜色 分配表。 GIF和8位PNG 图像非常容易受此影响。
如果你使用GIF和PNG试试 从桌子上掉下一个颜色, 应该让你分配另一个。
如果索引图像中的源图像(8位或更少),请确保有额外颜色的空间。例如。一个8位的图像可能没有使用调色板中的所有256种颜色,在这种情况下该功能应该成功,否则不会。
我查看了你的图像,它实际上是一个使用所有256种颜色的8位PNG图像。尝试将其转换为真彩色图像(通过photoshop或将图像复制到通过imagecreatetruecolor()
创建的GD图像);进行所有编辑,然后保存为GIF。