Warum werden die Farben bestimmter PNG-Dateien beim Öffnen in Illustrator verzerrt?

Ich habe versucht, einen iPhone-Screenshot in Illustrator zu öffnen, aber aus irgendeinem Grund sind die Farben verzerrt. Wenn ich dieselbe Datei in einer anderen Anwendung (Photoshop, GIMP, Vorschau usw.) öffne, werden die Farben gut wiedergegeben. Das Kuriose ist, dass dies nur bei bestimmten Screenshots auftritt, da ich auch einen Screenshot des Startbildschirms getestet habe, den Illustrator geöffnet hat, ohne die Farben zu verzerren.

Bei GIMP erscheint jedoch ein Dialogfeld mit der Meldung:

Das Bild 'IMG_1199.PNG' hat ein eingebettetes Farbprofil:

P3 anzeigen

Konvertieren Sie das Bild in den RGB-Arbeitsfarbraum (sRGB integriert)?

Mit der Option, das Farbprofil entweder beizubehalten oder zu konvertieren; was mich denken lässt, dass Illustrator das oben genannte Farbprofil möglicherweise nicht erkennt.

Hier ist das Originalbild direkt vom Telefon [links] und das geöffnete (dann gespeicherte) Bild aus Illustrator [rechts]:

Screenshot der iPhone-Tastatur Screenshot der iPhone-Tastatur verzerrt


Aktualisieren

Das Konvertieren des Farbprofils in GIMP, Speichern und erneutes Öffnen der Datei in Illustrator behebt das Problem. Das scheint meine Vermutung zu bestätigen, dass es am Farbprofil Display P3 liegt, was meine Frage etwas ändert: Wie kann ich das Bild in Illustrator öffnen, ohne das Bild vorher zu konvertieren?

Dies scheint ein Fehler in Illustrator zu sein, daher habe ich einen Fehlerbericht an Adobe gesendet. Ich werde aktualisieren, wenn der Bericht schlüssig ist oder wenn Adobe eine Lösung bereitstellt.

Psychedelisch! Ich kenne Leute, die Pillen essen, um das zu sehen. Hey Bryan, willkommen bei GDSE und danke für deine Frage. Wenn Sie Fragen zu dieser SE haben, werfen Sie einen Blick in das Hilfezentrum oder nehmen Sie am Grafikdesign-Chat teil ! Tragen Sie weiter bei und genießen Sie Ihre Zeit hier.
Ich hatte viele Probleme mit iPhone-Screenshots, aber so etwas hatte ich noch nie. Beeindruckend.
Bedeutet ein P3-Farbprofil 10 bpp Farbe (auch bekannt als 30 Bit)? Ist das ein Fehler oder kann die KI einfach nicht mit 10 bpp umgehen (ARGB 02 10 10 10)? Forschende Köpfe wollen es wissen. (edit: Um klar zu sein, ich möchte es wirklich wissen, da ich keine Ahnung habe)
Seltsam: Sowohl GraphicsMagick identifyals auch Linux fileidentifizieren Ihren geposteten Screenshot auf der linken Seite trotz seines .png-Suffixes als JPG. Ist das der originale/unveränderte Screenshot? Haben Sie das Suffix in .png umbenannt? Vielleicht ist das das Problem. Versuchen Sie, das Suffix in jpg zu ändern, und öffnen Sie es erneut.
@Socowi Huh, das ist seltsam, ich habe es selbst mit dem fileBefehl auf macOS getestet. Es wird auch angezeigt JPEG image data, obwohl das Infofenster es immer noch als PNG-Datei anzeigt. Es muss etwas sein, was Imgur tut, um die Fotos zu skalieren. Wenn Sie das Bild über den Link in voller Größe herunterladen, sollte der fileBefehl es korrekt als PNG-Datei erkennen.
@Bryan Du hast recht. imgur hat ein jpg-Thumbnail erstellt, aber das Suffix nicht geändert. Danke für den Link in voller Größe. Ich habe das Problem gefunden (aber keine Lösung) und werde es bald posten.
Spät in diesem Thread, aber da das Problem in Illustrator immer noch da ist, wollte ich dies hinzufügen. Das Problem tritt nur auf MacOS auf, was seltsam ist, da es das Apple iOS-Farbprofil ist, das funktioniert. Ich arbeite in beiden Umgebungen und bin kürzlich vom att-Projekt auf den PC mit platzierten PNGs von iOS und Android gewechselt. Und als ich das Dokument auf meinem Mac öffnete, waren alle iOS-PNGs verzerrt. Und ich habe diesen Thread gefunden. Das erneute Verknüpfen der Dateien und sogar das Ersetzen der Dateien führte zum gleichen Ergebnis. Werde Adobe den Fehler melden.

Antworten (4)

Was wahrscheinlich passiert: Der Screenshot ist ein 16-Bit-PNG, aber der Illustrator liest es als 8-Bit-PNG und verwendet nur die 8 niedrigeren (!) Bits.

Erläuterung

Für die folgende Erklärung gehen wir davon aus, dass es sich bei dem Screenshot um ein 16-Bit-Graustufenbild handelt, d. h. jeder Pixel ist eine Zahl dazwischen

schwarz = 0 = 0x0000 = 0b 0000 0000 0000 0000

und

(16-Bit) Weiß = 2^16-1 = 65535 = 0xFFFF = 0b 1111 1111 1111 1111.

(0x bezeichnet Hexadezimalzahlen und 0b bezeichnet Binärzahlen)

Illustrator scheint nur 8 dieser 16 Bits zu laden, leider die falschen, also die niederwertigsten. Die Auswahl der niederwertigsten Bits ist das einzige Problem.

0b #### #### #### ####
   \_______/ \_______/
   discarded   loaded

Nach dem Import skaliert der Illustrator die Interpretation (welche Zahl ist weiß, welche ist schwarz) entsprechend der neuen maximalen Zahl:

(8-Bit) Weiß = 2^8-1 = 255 = 0xFF = 0xb 1111 1111.

Angenommen, eines unserer Pixel hätte den Wert 0b 1111 1111 0000 00001 = 0xFF01 = 65281, also fast weiß. Nach dem Import ist der Wert 0b 0000 0001 = 0x01 = 1, also fast schwarz.

Es ist wie das „Runden“ von 999,1 auf 1 – völlig falsch!

Simulation

Wie können wir sicher sein, dass das beschriebene Problem unser Problem ist? Wir simulieren den Fehler!

Das folgende Python-Programm lädt den 16-Bit-Screenshot wie oben beschrieben.
(Bitte verurteilen Sie mich nicht, es ist mein allererstes Python-Programm.)

#! /usr/bin/python
import numpy as np
import cv2

# load picture
img = cv2.imread('screen.png', 3)

# assert (by hand) that picture is loaded as 16 bit image
print img.dtype

# simulate the bug
img[:,:] &= 0x00FF # use only 8 least significant bits
img[:,:] <<= 8     # rescale

# save the picture
cv2.imwrite('bug.png',img)

Simulierter Fehler
das Ergebnis bug.png
Klicken Sie hier für die Originalgröße und hier , um es mit der OP-Version zu vergleichen.

Wie wir sehen können, liefert unsere Simulation genau das gleiche Ergebnis.

Problemumgehung

Mir fällt nur eine Problemumgehung ein (da ich keinen Illustrator verwende):

Konvertieren Sie Ihre Screenshots in 8-Bit-PNGs

GraphicsMagick und/oder ImageMagick sind Konsolentools, die für diesen Job geeignet sind. Der folgende Befehl konvertiert in 8-Bit-PNGs:

convert original.png -depth 8 converted.png
Wow, danke für die ausführliche Erklärung. Adobe hat noch nicht auf meinen Fehlerbericht geantwortet, aber mit etwas Glück werden sie Illustrator hoffentlich die richtige 16-Bit-Farbunterstützung hinzufügen. Oder runden Sie sie zumindest korrekt auf 8-Bit-Farbe ab.

Dies ist VIEL spät, aber eine einfache Problemumgehung (für Mac-Benutzer) besteht darin, das PNG in der Vorschau zu öffnen und es dann als PNG zu exportieren, indem die standardmäßige 16-Bit-Option auf die 8-Bit-Option umgestellt wird. Es erfordert keine zusätzliche Software und dauert nur wenige Sekunden.

Das ist jetzt ein komisches Problem.

GIMP gibt uns schon einige Hinweise und bestätigt den Verdacht, dass es etwas mit dem Farbprofil des Screenshots zu tun hat. Wenn Sie es in Ihr alltägliches sRGB und 8 Bit pro Kanal konvertieren, wird Illustrator möglicherweise daran gehindert, beim Versuch, es als CMYK abzurufen, Probleme zu verursachen.

Das Konvertieren des Bildes in .pdf half mir, dieses Problem auf einem Mac zu lösen