为什么Photoshop无法正确打开此PNG?


9

当我尝试在PS(CS5)中打开此图像时,在图像的不透明部分周围出现红色矩形。

如果我复制图像并将其粘贴到PS中,则会得到图像的内容,如通过浏览器看到的那样,但是具有内置的黑色背景(实际上不是透明的)

此图像有什么问题?!还是我的PS?

我的PNG

Answers:


17

不确定您的确切实例,但是我经常遇到PNG文件,该文件以黑色或其他颜色代替透明度打开。这通常是由于PNG文件使用索引颜色并且具有alpha调色板而不是在图像本身上使用完整的alpha蒙版。

基本上,当您正常保存PNG文件时,您使用的是完整的24位Truecolor(每个通道8位)以及一个存储透明度信息的alpha蒙版(基本上是另一个8位通道)。使用调色板颜色时,它将颜色索引为24位RGB颜色,并保留单独的8位alpha蒙版。

但是,PNG也支持alpha调色板。这意味着您的每种索引颜色都存储为32位RGBA颜色,其中透明度数据嵌入调色板中。这是罕见的,因为很难智能地进行,而且不幸的是,它不适合Photoshop的色彩模式。因此,当Photoshop打开它时,它仅读取每种索引颜色的RGB分量,而找不到Alpha蒙版,因此所有透明度数据都将丢失。

我不记得遇到过将任意遮罩颜色应用于部分透明区域的文件,但这仍然可能是同一问题的变体。


3
是的,那是索引颜色的PNG。我只是尝试在GIMP中打开它,文本看起来确实很块状,因为它在索引颜色模式下使用1位透明度。但是,只需将颜色模式更改为RGB即可解决。您可以尝试看看相同的技巧是否也可以在Photoshop中使用。
Ilmari Karonen'2

在PSD中更改为RGB并没有显示图像,因为它应该看起来很……
Gaia 2012年

5

莱瑟钉了它。它确实是一个PNG 8,具有真正的奇特调色板。这是在Fireworks中打开的方式,它可以正确识别和呈现它。当您查看表格时,出现块状的原因很明显:除透明位置之外的每个位置都具有相同的颜色。抗锯齿?我们不需要没有臭味的抗锯齿!

在此处输入图片说明


是的,所以基本上Photoshop仅显示调色板的RGB数据。每种索引颜色都具有相同的RGB分量,但是每种alpha值在255和0之间都不同。我猜Photoshop进行了硬编码,以将任何A值为0的颜色显示为“透明”(有点钻石的东西),但是没有知道如何处理介于1到254之间的A值,因此将其视为纯红色。
冒犯君主

那是Fireworks,而不是Photoshop。
艾伦·吉尔伯森

啊对不起 我在Photoshop中查看了调色板,这有点类似,除了它在Fw中显示的137种颜色之后显示了119种额外的颜色。多余的颜色是重复的灰色阴影,所以我不太确定那里到底发生了什么。但是,将其更改为RGB颜色肯定无法解决Gimp中的问题。
冒犯君主

1
FW的优点是PNG是其本机文件格式,因此,“所有东西png”比Photoshop聪明得多。图像将完全按照您在捕获中看到的方式打开。FW仍在我的应用程序列表中,以进行更深入的研究。同时,这种诊断很方便。
艾伦·吉尔伯森

谢谢,这绝对有助于了解我可以使用FW正确阅读它。
盖亚2012年

5

您的问题已被上述人员很好地回答了,但我想为那些后继者提一个解决方案-您可以在Preview.app或pixlr.com中打开索引的png并将图像重新保存为png以获得无损访问图像。然后,您可以使用PS以任何格式重新保存图像。

我使用Image Alpha和Image Optim获得可靠的输出。文章中的信息:“有效的PNG”,其中更详细地介绍了PNG8格式以及其他PNG优化问题。


4

网页设计师有时会使用Fireworks通过Alpha透明通道保存8位PNG文件,因为它使某些较旧的浏览器可以更可靠地处理Alpha透明性,而无需使用专有的hack或IE CSS滤镜等。Photoshop中的颜色配置文件不会正确识别或渲染此内容。


0

我有同样的问题,很奇怪,在工作中我可以很好地打开文件,并且显示透明性。我快疯了...相同的文件,相同的photoshop版本,都以不同的方式打开它?!?!在OSX上预览可以很好地处理文件,这甚至更奇怪。因此,我在Preview和Photoshop之间复制粘贴,以使其在Photoshop中看起来正确并进行新的导出。我从版本3开始就使用Photoshop,以前从未碰过这个问题。仍然每天学习;)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.