PNG8&x2B;来自烟花的Alpha(彩色贴图)与其他地方的Alpha(RGBA)不同/更小。为什么?

PNG8&x2B;来自烟花的Alpha(彩色贴图)与其他地方的Alpha(RGBA)不同/更小。为什么?,png,alpha,png-24,png-8,Png,Alpha,Png 24,Png 8,在Fireworks中,当导出具有alpha透明度的PNG8文件时,生成的文件如下所示: png8-fireworks.png: PNG image data, 500 x 500, 8-bit colormap, non-interlaced png24-smushit.png: PNG image data, 500 x 500, 8-bit/color RGBA, non-interlaced png8-pngout.png: PNG image data, 500 x 500,

在Fireworks中,当导出具有alpha透明度的PNG8文件时,生成的文件如下所示:

png8-fireworks.png: PNG image data, 500 x 500, 8-bit colormap, non-interlaced
png24-smushit.png:  PNG image data, 500 x 500, 8-bit/color RGBA, non-interlaced
png8-pngout.png:    PNG image data, 500 x 500, 8-bit/color RGBA, non-interlaced
如果使用其他工具(PNGOUT、Smush.it)转换32位PNG,结果如下:

png8-fireworks.png: PNG image data, 500 x 500, 8-bit colormap, non-interlaced
png24-smushit.png:  PNG image data, 500 x 500, 8-bit/color RGBA, non-interlaced
png8-pngout.png:    PNG image data, 500 x 500, 8-bit/color RGBA, non-interlaced
到底有什么区别?它们都具有alpha透明度,但Fireworks文件为8KB,而其他文件为20KB。现在,焰火文件的质量明显降低(即渐变上的带状)


对于某些图像,来自焰火的PNG8+alpha效果非常好,相对而言,它的文件大小非常小。我只是不知道焰火在做什么,它与其他方法有何不同。

PNG-8表示每像素8位,这意味着它只能显示256种不同的颜色(从托盘上)


每像素24位和32位允许您使用更多的颜色(因此可以获得很好的平滑渐变),但要以文件大小为代价。

PNG8文件是一种非常有效的格式。它在图像中查找唯一的颜色,并仅将这些颜色保存在一个小调色板中。最酷的部分是,它还保存了调色板中每种颜色的alpha透明度。(如果图像中有三个纯红色(#FF0000),但每个都有不同的alpha值,比如255、128、65,它将在调色板中保存三个条目


您也可以在Fireworks中选择将调色板大小限制为2的幂次方,这样您就可以减少使用的颜色以节省更多的成本。通常,256色图像在64色时看起来很好,并可以节省大量的重量。

来自这两种工具的网站:

痛风:

它不会将图像转换为无法无损存储图像的颜色类型或位深度

它不会减少图像中使用的颜色数量,也不会将颜色转换为灰度,除非所有颜色都已经对应于PNG灰度值

Smush.it:

它是一种“无损”工具[…]

两者都不提供256调色板png:这是“颜色贴图”(=调色板)和“rgba”(truecolor=R为2^8 x G为2^8 x B为2^8 x Alpha为2^8,其中2^8=256)之间的差异


Fireworks确实如此。

我意识到了这一点。我的问题是PNG-8s Fireworks生成(8位彩色贴图,非隔行)和PNG-8s其他命令行工具生成(8位/彩色RGBA,非隔行)之间的区别是什么。Fireworks文件仍然具有alpha通道,质量稍低,但文件大小大大减小)我要导出的焰火设置是:*PNG 8*256色*Alpha透明使用“identify-verbose filename.PNG”进行进一步调查最终的结果是:焰火图像如下所示:深度:8位通道深度:红色:8位绿色:8位蓝色:8位阿尔法:4位,而其他图像如下所示:深度:8位通道深度:红色:8位绿色:8位蓝色:8位阿尔法:8位你应该试试(或)-它产生PNG8+阿尔法烟花,但对渐变的处理更好。