【发布时间】:2017-03-01 23:04:27
【问题描述】:
是否可以构造一个完全不透明的 png 图像(这意味着图像中的每个像素都是不透明的)但图像数据本身具有 alpha 通道?
为什么有些PNG图片没有alpha通道?
【问题讨论】:
-
要添加到已接受的答案,请记住,Alpha 通道并不是在 PNG 图像中具有透明度的唯一方法。 stackoverflow.com/questions/13569887/…
标签: png
是否可以构造一个完全不透明的 png 图像(这意味着图像中的每个像素都是不透明的)但图像数据本身具有 alpha 通道?
为什么有些PNG图片没有alpha通道?
【问题讨论】:
标签: png
是的。就像 RGB 图像可能仅包含红色通道中的数据,而不包含绿色和蓝色通道中的数据; “未使用”的频道不是问题。 Alpha 是一个独立的通道,特别是,它的值应该独立与相关的像素颜色:“PNG 不不使用预乘 alpha”(6.2 Alpha representation )。
有关更多详细信息,另请参阅 official specifications 中的 12.4 Alpha channel creation:
alpha 通道既可以看作是临时隐藏图像透明部分的蒙版,也可以看作是构建非矩形图像的一种手段。在第一种情况下,应保留完全透明像素的颜色值以供将来使用。在第二种情况下,透明像素不携带有用的数据,只是用来填充 PNG 所需的矩形图像区域。在这种情况下,应该为完全透明的像素都分配相同的颜色值以获得最佳压缩效果。
因为他们不需要,按照相同的规范:
... PNG 为 GIF 提供了一种无专利的替代品,并且还可以替代 TIFF 的许多常见用途。支持索引颜色、灰度和真彩色图像,以及一个可选 alpha 通道。 (我的重点)
【讨论】: