PNG8和PNG24有什么区别?

71

我想了解png文件的用途。有两种格式可用于png图像,一种是png8,另一种是png24

我想知道如果我在我的html页面中使用任一类型,是否会出现任何错误?还是只是品质问题?


6
“PNG8”使用的颜色比“PNG24”要少得多。是的,质量很重要。 - Rahil Wazir
2
还有更多。如果您添加一个alpha通道,以获得完全透明度,您将得到png32。 - leonbloy
6个回答

75

只有一种PNG格式,但它支持5种颜色类型

PNG-8是调色板变体,仅支持256种颜色,但通常更小。 PNG-8可以替代GIF。

PNG-24是真彩色变体,支持更多的颜色,但可能更大。如果需要无损图像格式,则可以使用PNG-24代替JPEG。

任何现代Web浏览器都将支持这两种变体。


3
“更小”,实际上你需要存储调色板。必须有一个“最小尺寸”,在这个尺寸下,使用256种颜色的8位图像实际上比24位编码中完全相同的颜色还要。(抱歉,太累了,不想算数。) - Jongware
2
@Jongware 是的,措辞可能过于严格了。但在一般情况下,图像必须小而具有许多不同的颜色才能发生这种情况,而且通常差异很小。 - user694733

24

Web Designer’s Guide to PNG Image Format中:

PNG-8和PNG-24

PNG有两种格式:PNG-8和PNG-24。这些数字是“8位PNG”或“24位PNG”的简称。不要深入技术细节,因为作为网页设计师,您可能并不关心。8位PNG意味着每个像素的图像是8位,而24位PNG则是每个像素的图像是24位。

用简单的英语概括不同之处:PNG-24可以处理更多颜色,并且适合具有大量颜色(如照片)的复杂图像(就像JPEG一样),而PNG-8则更适用于具有简单颜色的东西,例如标志、图标和按钮等用户界面元素。

另一个区别是PNG-24本地支持α透明度,这对于透明背景很有用。这种差异并非100%正确,因为Adobe产品的“保存为Web”命令允许使用带α透明度的PNG-8。


15
您问了两个问题,一个标题是关于PNG8和PNG24之间的区别,已经收到了一些答案,即PNG24具有8位红色、绿色和蓝色通道,而PNG-8具有单个8位索引到调色板。自然地,PNG24的文件大小通常比PNG8大。此外,PNG8通常意味着它是不透明的或只具有二进制透明度(像GIF);在ImageMagick/GraphicsMagick中定义为这样。
这是对另一个问题的回答,“我想知道如果我在我的html页面中使用任一类型,是否会出现错误?或者这只是质量问题?”
您可以将任何一种类型放在HTML页面上,不会导致错误;所有文件都应以“.png”扩展名命名,并在HTML中引用该方式。多年前,早期版本的Internet Explorer无法正确处理带有阿尔法通道(PNG32)或带有半透明像素的索引颜色PNG,因此将这些图像转换为PNG8(通过PNG tRNS块传递的索引颜色和二进制透明度)非常有用——但仍然使用.png扩展名,以确保它们在IE上正常显示。我认为PNG24在Internet Explorer上始终没问题,因为PNG24要么是不透明的,要么具有类似GIF的单色透明度,通过PNG tRNS块传递。
PNG规范中没有提到PNG8和PNG24的名称,它只是称其为“PNG”。其他名称由其他人发明,包括:
- PNG8或PNG-8(具有8位样本的索引颜色,通常意味着不透明或具有类似GIF的二进制透明度,但有时也包括半透明) - PNG24或PNG-24(具有8位样本的RGB,可以通过tRNS具有类似GIF的透明度) - PNG32(具有8位样本的RGBA,不透明、透明或半透明) - PNG48(与PNG24类似,但具有16位R、G、B样本) - PNG64(类似于PNG32,但具有16位R、G、B、A样本)

还有许多其他可能的组合,包括灰度图像,其中包含1、2、4、8或16位样本以及带有1、2或4位样本的索引PNG(其中任何一个都可以具有透明或半透明像素),但这些没有特殊的名称。


6

基本区别:8位PNG图像最多包含256种颜色。PNG-24是一种无损格式,可以包含多达1600万种颜色。

影响:

  1. 如果您使用任何圆角图像,则在png8格式中可能会出现边缘可见。
  2. IE6不支持png24格式。

6
PNG-8也是“无损”的,前提是您只使用了256种颜色,而如果您使用了超过1600万种颜色,则PNG-24将会是“有损”的。实际上,有损/无损的区别在于压缩方案(如果有)是否有损。 - Stephen C
2
是的,Era,PNG8 格式的边缘看起来不太好。我已经找到了一个例子在这里 - Kesar Sisodiya
这只是一个用户错误(或软件故障,您可以选择)。 “8位”示例图像未使用PNG格式允许的完整的8位透明度。 - Jongware

3
主要区别在于8位PNG最多包含256种颜色,就像GIF一样。 PNG-24是一种无损格式,可以包含多达1600万种颜色。

1
当然。但8位PNG也是一种无损压缩格式,所以不需要指定。噢,GIF也是。 - Jongware

1
在制作PNG-8格式的完全透明背景图像时,图像的轮廓看起来很突出,有一些小白点。但在PNG-24中,轮廓消失了,看起来完美。PNG-24中的透明度比PNG-8更大、更干净。
PNG-8包含256种颜色,而PNG-24包含1600万种颜色。
PNG-24的文件大小几乎是PNG-8的两倍。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接