将具有每像素透明度的PNG-24转换为PNG-8

时间:2011-01-05 18:09:41

标签: php png transparency gd gif

是否可以采用每像素alpha值的24位PNG并将其转换为8位PNG,同时保持透明度?原始图像最多只包含256色,所以这应该是可能的,对吗?

----理由:

我正在使用Actionscript中的图像裁剪器,它将编码的bytearrays发布到PHP,作为文件系统上的文件创建。

Unfortuantely ActionScript不支持GIF编码,因此在处理具有透明度的gif时,我们必须在将其发布到PHP之前在Actionscript中对其进行PNG编码。然后我们可以将它保存为PNG并通过使用imagealphablending和imagesavealpha函数来保持透明度。

这个问题是文件大小比原来的gif大很多。这可能是因为colourspace现在是真彩色,而不是GIF索引的托盘。

1 个答案:

答案 0 :(得分:0)

PNG-8可以具有可变的Alpha透明度,但每种颜色(包括其alpha)都会以可用的颜色数量编入索引。