Question Pourquoi cette image PNG s'affiche-t-elle différemment dans Chrome et Firefox que dans Safari et IE?


Vérifiez cette image:

Apple or Pear

Sur Chrome et Firefox, il apparaîtra comme une poire. Maintenant, essayez de l'enregistrer et regardez-le enregistré sur votre bureau. Essayez également de regarder dans Safari ou Internet Explorer. Il s'affichera comme une pomme!

Essayez de cliquer sur l'image et de la déplacer. Vous remarquerez que la pomme apparaît.

Pourquoi cela arrive-t-il?


663
2018-04-07 03:32


origine


si j'essaie de faire glisser l'image sur Firefox juste un peu, l'image glissée de façon transparente fera la forme de la pomme aPear - ajax333221
Comment as-tu créé cette photo? Pouvez-vous m'indiquer un site Web? - tumchaaditya
Pour les futurs lecteurs, cela semble être corrigé dans les versions actuelles d’IE. - Kat
Mais vous pouvez toujours le télécharger sur votre bureau et voir Apple là-bas, et l'afficher dans Firefox, Chrome en tant que poire. - Jet


Réponses:


Cela se produit parce que certains navigateurs effectuent la correction gamma spécifiée dans le fichier image.

Voici l'image non corrigée. Les pixels "blanc-blanc" dans l'image de pomme contiennent l'image d'une poire, stockée à une intensité beaucoup plus élevée, c'est-à-dire très brillante.

Voici l'image corrigée par gamma. Les pixels "noir-blanc" de l'image de la poire contiennent l'image d'une pomme, stockée à une intensité assez normale, mais réduite au noir avec la correction gamma.

Sur mon écran, je peux voir la poire parmi les pixels blancs de la première image, mais dans la deuxième image, la pomme ne se distingue pas des pixels noirs qui l’entourent.

(Vous pouvez également voir des bandes de couleur sur la poire corrigée par gamma, car l'image non corrigée utilise une plage beaucoup plus petite des canaux de couleur.)

Le fichier image PNG contient un bloc gAMA spécifiant une valeur gamma de fichier de 0,02. Lorsqu'il est affiché sans correction gamma, le spectateur voit une pomme avec des pixels "blancs" entrecoupés, qui sont en fait la poire à son intensité (haute) d'origine.

Lorsqu'il est affiché avec une correction gamma, le spectateur voit une poire avec des pixels «noirs» dont la couleur a été corrigée et qui est en fait la pomme avec une valeur gamma beaucoup plus faible.

Les navigateurs qui affichent la poire effectuent une correction gamma sur l'image, tandis que les navigateurs qui affichent la pomme n'effectuent pas de correction gamma, mais la montrent avec leurs valeurs de couleur littérales.


524
2018-04-07 05:23



Une lecture recommandée sur le sujet: le fameux article d'Eric Brasseur intitulé "Erreur gamma dans la mise à l'échelle de l'image. - ulidtko
@ulidtko C'est maintenant un 404. Voici un copier sur l'archive Web. - Cole Johnson


C'était un peu trop pour un commentaire, mais j'espère que ça aide.

Donc, je suis assez certain que ce numéro traite de la façon dont les navigateurs interprètent les informations gamma avec les PNG. C'est un problème assez amusant et qui traite en premier lieu des ambiguïtés des informations gamma.

L'article L'histoire triste de PNG Gamma "Correction" fournit un très bon résumé des problèmes, des remèdes et d'autres faits amusants.

Cela dit, nous pouvons effectivement dépouiller les informations gamma d'une image en utilisant pngcrush

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB pear.png apple.png

Donc, avec l'information gamma et sans elle:

pear an apple

Je ne dirais pas vraiment que c'est la "réponse", mais en tout cas, elle est probablement dans la bonne direction. Je suis sûr que quelqu'un avec beaucoup de connaissances sur les profils de couleur, etc., apportera une réponse plus formelle.


227
2018-04-07 04:34



ces deux images me ressemblent, oscillant entre pomme et poire, comme l'original dans la question. J'utilise Safari 6.0.2 - Fraser Graham
Notez que les deux derniers éléments de la commande fournis ici sont les infile et outfile: par exemple. pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile.png outfile.png. Plus d'informations: hsivonen.fi/png-gamma - fredrivett


Changer le gamma (γ) d'une image consiste à modifier la valeur gamma dans:

(R ', G', B ') = (Rγ, Gγ, Bγ)

qui donne la couleur de pixel de sortie (R ', G', B ') affichée à l'écran après l'application de la fonction gamma aux valeurs de pixel initiales (R, G, B) (en considérant R, G et B normalisés entre 0 et 1) ).

Maintenant, prenons le canal rouge par exemple.
Si R = R0 + R1 , vous obtiendrez
R '= (R0 + R1)γ = R0γ * (1 + R1 / R0)γ

Si R0 est beaucoup plus grand que R1, alors vous avez
(1 + R1 / R0)γ ≈ 1 + γR1 / R0,
alors R '≈ R0γ + γ


40
2018-04-07 05:38





Il ne s'agit pas d'arrondir les pixels et les profils de couleurs ICC ne sont pas en cause.

C'est une image truquée et certains navigateurs affichent des fichiers PNG sans données gamma. Pour ces navigateurs, vous voyez une chose et pour les autres navigateurs, vous voyez l’image complète (avec la poire cachée en arrière-plan).

Je vois soit une image truc de pomme / poire, ou je vois juste la poire, selon que le navigateur supporte ces données gamma.


9
2018-04-07 05:41





bien que cela se produise, vous pouvez voir plus de détails sur les images avec un affichage correctement calibré et si le gamma / luminosité / contraste est trop élevé, vous pouvez voir que l’image de l’image est caché plus


1
2018-03-11 01:49