Pourquoi Photoshop ne peut-il pas ouvrir correctement ce PNG?


9

Lorsque j'essaie d'ouvrir cette image dans PS (CS5), j'obtiens des rectangles rouges autour des parties de l'image qui ne sont pas transparentes.

Si je copie l'image et la colle dans PS, j'obtiens le contenu de l'image, comme vu via le navigateur, mais avec un fond noir intégré (pas transparent, comme c'est vraiment)

Quel est le problème avec cette image?! Ou est-ce mon PS?

Mon PNG

Réponses:


17

Je ne suis pas sûr de votre instance exacte, mais j'ai souvent rencontré des fichiers PNG qui s'ouvrent avec du noir ou une autre couleur à la place de la transparence. Cela est généralement dû au fait que le fichier PNG utilise des couleurs indexées et possède une palette alpha plutôt que d'utiliser un masque alpha complet sur l'image elle-même.

Fondamentalement, lorsque vous enregistrez normalement un fichier PNG, vous utilisez une couleur vraie 24 bits complète (8 bits par canal) plus un masque alpha qui stocke les informations de transparence (essentiellement un autre canal 8 bits). Lorsque vous utilisez des couleurs de palette, il indexe les couleurs en tant que couleurs RVB 24 bits et conserve un masque alpha 8 bits distinct.

Cependant, PNG prend également en charge les palettes alpha . Cela signifie que chacune de vos couleurs indexées est stockée en tant que couleur RGBA 32 bits avec les données de transparence intégrées dans la palette. C'est rare car il est difficile de le faire intelligemment, et malheureusement, cela ne correspond pas aux modes de couleur de Photoshop. Ainsi, lorsque Photoshop l'ouvre, il ne lit que les composants RVB de chaque couleur indexée et ne trouve pas de masque alpha, de sorte que toutes les données de transparence sont perdues.

Je ne me souviens pas avoir rencontré un fichier dans lequel une couleur mate arbitraire est appliquée aux régions partiellement transparentes, mais cela pourrait toujours être une variante du même problème.


3
Oui, c'est un PNG de couleur indexée. Je viens d'essayer de l'ouvrir dans GIMP, et le texte semble vraiment en bloc car il utilise la transparence 1 bit en mode couleur indexé. Cependant, le simple fait de changer le mode couleur en RVB le corrige; vous pouvez essayer de voir si la même astuce pourrait également fonctionner dans Photoshop.
Ilmari Karonen

le passage au RVB dans PSD n'a pas révélé l'image telle qu'elle est censée ressembler ...
Gaia

5

Lèse l'a cloué. Il s'agit bien d'un PNG 8, avec une palette vraiment étrange. Voici comment il s'ouvre dans Fireworks, qui l'identifie et le rend correctement. La raison de l'obstruction est évidente lorsque vous regardez la table: chaque emplacement sauf le transparent a la même couleur. Anti-alias? Nous n'avons pas besoin d'anti-alias puant!

entrez la description de l'image ici


Oui, donc fondamentalement, Photoshop n'affiche que les données RVB de la palette. Chaque couleur indexée a une composante RVB identique, mais chacune a une valeur alpha différente entre 255 et 0. Je suppose que Photoshop est codé en dur pour afficher toute couleur avec une valeur A de 0 comme "transparente" (le petit diamant) mais ne le fait pas savoir quoi faire avec des valeurs A comprises entre 1 et 254, il le traite donc comme un rouge uni.
Lèse majesté

C'est Fireworks, pas Photoshop.
Alan Gilbertson

Ah désolé. J'ai regardé la palette dans Photoshop, et c'est quelque chose de similaire, sauf qu'elle montre 119 couleurs supplémentaires après les 137 affichées dans Fw. Les couleurs supplémentaires répètent des nuances de gris, donc je ne suis pas vraiment sûr de ce qui s'y passe. Mais le changer en couleur RVB ne résout certainement pas les choses comme dans Gimp.
Lèse majesté

1
L'avantage avec FW est que PNG est son format de fichier natif, il est donc beaucoup plus intelligent sur "tout ce qui est png" que Photoshop. L'image s'ouvre exactement comme vous la voyez dans la capture. FW est toujours sur ma liste d'applications à approfondir. En attendant, c'est pratique pour ce genre de diagnostic.
Alan Gilbertson

Merci, il est certainement utile de savoir que je peux utiliser FW pour le lire correctement.
Gaia

5

Votre question est bien répondue par les gens ci-dessus, mais je pense que je mentionnerais un plan d'action pour ceux qui viennent après - vous pouvez ouvrir le png indexé dans Preview.app ou pixlr.com et réenregistrer l'image en tant que png pour obtenir accès sans perte à l'image. Vous pouvez ensuite réenregistrer l'image dans n'importe quel format avec PS.

J'utilise Image Alpha et Image Optim pour une sortie fiable. Plus d'informations dans l'article: «PNG qui fonctionne» , qui explique le format PNG8 et d'autres problèmes d'optimisation PNG plus en détail.


4

Les concepteurs Web utilisent parfois Fireworks pour enregistrer des fichiers PNG 8 bits avec un canal transparent alpha car cela permet à certains des navigateurs plus anciens de gérer la transparence alpha de manière plus fiable sans hacks propriétaires ou filtres CSS IE, etc. Les profils de couleurs dans Photoshop ne le feront pas. reconnaître ou rendre cela correctement cependant.


0

J'ai ce même problème, chose bizarre, au travail, je peux ouvrir le fichier très bien et il montre la transparence À la maison, je reçois une teinte verte et son opaque ??? Je suis fou ... même fichier, mêmes versions de photoshop, les deux l'ouvrent différemment?!?! L'aperçu sur OSX gère le fichier très bien, c'est encore plus étrange. Je copie donc collé entre Aperçu et Photoshop pour obtenir une apparence correcte dans Photoshop et faire une nouvelle exportation. J'utilise Photoshop depuis la version 3, jamais rencontré auparavant. Apprenez toujours chaque jour;)


-2

Vous pouvez généralement ouvrir des fichiers PNG transparents, mais vous ne pouvez pas copier / coller. Essayez de l'enregistrer et de l'ouvrir depuis Photoshop.


1
Vérifiez la réponse acceptée, la vôtre n'explique pas pourquoi. Lisez Comment répondre pour en savoir plus sur le site.
Luciano
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.