为什么 PNG-8 文件在 Photoshop 中打开时会损坏?

为什么 PNG-8 文件在 Photoshop 中打开时会损坏?

为什么有些 32 位 PNG 在 Photoshop 中打开时带有索引颜色且没有透明度?

例如,我抓取了 Stack Overflow 徽标的 png 图标文件,网址为:http://blog.stackoverflow.com/wp-content/uploads/icon-so.png 在 Photoshop CS3 中打开它时,它显然将其视为索引颜色并去除 alpha 通道。右侧的图像是图标的屏幕截图。将 Photoshop 中的图像模式更改为 RGB 不会改变图像。我已尝试过其他几个 PNG,但似乎效果不尽如人意。

在其他程序中查看时,显示正常。

左图:在 Photoshop 中打开的 png,右图:从浏览器中截取的 png 屏幕截图

左图:在 Photoshop 中打开的 png,右图:从浏览器中截取的 png 屏幕截图

怎么回事?Photoshop 不能正确解释 PNG 文件格式吗?

答案1

看起来问题在于Photoshop 不支持部分 PNG-8 标准. PNG-8 和 GIF 一样使用 256 色调色板。两种格式都支持使用其中一种 256 种索引颜色来表示透明度,PNG-8 还支持为这 256 种颜色分别设置一个 alpha 值在调色板上。Photoshop(显然是 CS3 和 CS4)不支持此功能,并且会使每个像素都呈现不透明状态。

答案2

简单的解决方案(在 Photoshop CC 中):

Image -> Mode -> Check "RGB Color"(不是索引颜色

该文件现在可以照常编辑。

答案3

常用的 PNG 文件有两种。PNG8 使用索引颜色,并且只有一种颜色用于透明,这意味着没有 alpha 通道。PNG24 支持单独的 alpha 通道。您链接到的图像是 PNG8。

至于为什么 Photoshop CS3 会如此严重地破坏 PNG8……我不知道。

相关内容