Warum zeichnet das iPhone Screenshots als PNG auf?

Antworten:

64

PNG ist nicht nur nützlich, um Transparenz zu ermöglichen: PNG ist ein verlustfreies Format , während JPEG eine verlustbehaftete Form der Komprimierung verwendet . Auch PNG komprimiert Screenshots ziemlich gut (im Gegensatz zu Kamerafotos, weshalb Apple JPG für diese verwendet).


Weitere Infos bei Interesse:

Bildbeschreibung hier eingeben

Außerdem lohnt es sich , einen technischen Überblick darüber zu erhalten, wofür PNG gut ist (es ist im Grunde eine der Hauptreferenzen zum Thema und enthält genügend Details, um den Tag damit zu verbringen). Auszug:

Für das Web gibt es seit Anfang 1999 zwei Bildformate mit allgegenwärtiger Unterstützung: JPEG und GIF. JPEG ist sehr gut für die Aufgabe geeignet, für die es entwickelt wurde - nämlich die Speicherung, Übertragung und Anzeige von fotorealistischen 8-Bit-Graustufen- und 24-Bit-Echtfarbenbildern mit guter Qualität und hervorragender Komprimierung -, und PNG war nie vorgesehen konkurrieren mit JPEG auf eigene Faust. PNG eignet sich jedoch wie GIF besser als JPEG für Bilder mit wenigen Farben oder vielen scharfen Kanten, z. B. Cartoons oder Bitmap-Text. PNG bietet auch direkte Unterstützung für die Gammakorrektur (grob gesagt, die plattformübergreifende Steuerung der Bildhelligkeit) und Transparenz. Ich werde dies in Kürze genauer besprechen.

GIF war das ursprüngliche plattformübergreifende Bildformat für das Web und ist in vielerlei Hinsicht immer noch eine gute Wahl. PNG wurde jedoch speziell als Ersatz für GIF entwickelt und bietet drei wesentliche Vorteile gegenüber dem älteren Format: Alphakanäle (variable Transparenz), Gammakorrektur und zweidimensionales Interlacing (eine Methode zur Anzeige von Bildern mit immer höheren Detailstufen). PNG komprimiert auch in fast allen Fällen besser als GIF, aber die Differenz beträgt in der Regel nur etwa 5% bis 25%, was (normalerweise) nicht groß genug ist, um einen dazu zu bewegen, nur auf dieser Basis zu wechseln. Eine GIF-Funktion, die PNG nicht zu reproduzieren versucht, ist die Unterstützung mehrerer Bilder, insbesondere von Animationen. PNG war und ist nur als Einzelbildformat gedacht. Ein sehr PNG-ähnliches Erweiterungsformat namens MNG wurde entwickelt, um diese Einschränkung zu beheben.

Franck Dernoncourt
quelle
3
Übrigens besteht der Hauptunterschied zwischen Screenshots und Kamerafotos darin, dass Screenshots im Grunde genommen geometrische Formen haben und nicht so "verschwommen" sind wie Kamerafotos (daher kann ein PNG-komprimiertes Foto durchaus größer sein als das Original). Um Kameradaten gut zu komprimieren, geht jedoch etwas Präzision verloren, sodass Sie sie in der Welt der perfekt scharfen Linien und der präzisen Anordnung, die ein Screenshot ist, nicht verwenden.
14.
4
Anders ausgedrückt, der Hauptunterschied liegt in den Variationsmustern der Pro-Pixel-Daten zwischen Fotos und den meisten gerenderten Grafiken. Gerenderte Grafiken enthalten normalerweise Bereiche mit identischer Farbgebung und Transparenz, mit denen die wiederholungsorientierte Komprimierung von PNG gut zurechtkommt. Auf der anderen Seite zeigen Fotografien aufgrund der Komplexität der physischen Welt, die sie einfangen, kontinuierliche, komplexe Variationen im gesamten Bild. Es gibt praktisch keine Wiederholung. JPEG geht also einen anderen Weg und erfasst die Variation, indem der Frequenzraum eines Bildes, seine Fourier-Koeffizienten, codiert wird.
Terry N
Schöne Show und erzählen. Sie lernen jeden Tag etwas Neues.
Muhnamana
1
Dies wirft einen berechtigten Punkt auf, den diejenigen von uns, die in den 90ern und frühen 2000ern Web-Entwicklung betrieben, nur zu genau kennen. Wenn Sie jedoch nur EIN Format auswählen können, ist PNG in der Regel das Beste. Die falsche Auswahl von PNG führt zu größeren Dateien als erforderlich, während die falsche Auswahl von JPG zu größeren Dateien als erforderlich und / oder zu einem Qualitätsverlust führen kann.
Jon Story
@Franck, Zitat für "PNG wurde speziell entwickelt, um GIF zu ersetzen" ,
Pacerier
50

Weil das:

PNG-Screenshot

sieht viel besser aus als das:

JPEG-Screenshot

OK, also musste ich den JPEG - Komprimierungsqualität kurbeln Weg nach unten die Kompressionsartefakte zu machen , dass offensichtlich, aber der Punkt bleibt - ein PNG - Screenshot zeigt genau das, was Sie auf dem Bildschirm sehen, während ein JPEG - Screenshot ist immer ein wenig verlustbehaftete (ja , auch wenn Sie die Qualität auf 100 einstellen).

Außerdem kann PNG Bilder mit großen Flächen flacher Farbe, scharfen Kanten und sich wiederholenden Mustern (wie Text) recht gut komprimieren. Daher kann ein verlustfreier PNG-Screenshot in vielen Fällen tatsächlich kleiner sein als ein JPEG-Screenshot, der bei einer akzeptablen Qualitätsstufe gespeichert wird.

Ilmari Karonen
quelle
5
Requisiten für die Show, anstatt zu erzählen!
14.
Aber hier ist das PNG viermal so groß wie das JPEG (33Ko vs 8Ko). Vielleicht sollten Sie versuchen, eine JPEG-Datei mit der gleichen Größe wie die PNG-
Datei
@Thomas: Hier ist ein 35 kB JPEG zum Vergleich. Es ist nicht annähernd so schlimm wie das winzige 8-KB-Format, weist jedoch sichtbare Komprimierungsartefakte auf, z. B. graue Ränder um den Text. Als Antwort wollte ich jedoch ein Beispiel, bei dem die Artefakte offensichtlich sind , auch wenn Ihr Bildschirm / Sehvermögen schlecht ist.
Ilmari Karonen
Ich verstehe, aber es ist besser, Äpfel mit Äpfeln zu vergleichen, denn wenn Sie Karotten mitbringen, wird Ihre nette Antwort zu einer halbschönen Antwort. Wie auch immer, ich habe dich für das visuelle Beispiel gewählt :)
Thomas Ayoub
Es gibt auch den Punkt, dass wir vor gut einem Jahrzehnt aufgehört haben, uns um Kilobyte zu kümmern: PNG ist die beste verlustfreie Komprimierung, die wir haben, daher ist es normalerweise die beste Wahl, es sei denn, der Speicherplatz ist knapp. In der Welt der hochauflösenden Videos sind einige KB auf einem Foto kein Problem mehr.
Jon Story
10

Eine der Funktionen eines Screenshots besteht darin, einer anderen Person ein bestimmtes visuelles Artefakt anzuzeigen, das Sie auf Ihrem Gerät sehen - möglicherweise, um einem App-Entwickler einen visuellen Fehler anzuzeigen. In solchen Fällen können Komprimierungsartefakte eine Ablenkung vom eigentlichen diskutierten Problem darstellen. Der Screenshot muss pixelgenau sein.

Daher ist ein verlustfreies Format wie .PNG obligatorisch.

Russell Borogove
quelle