2014-05-16 7 views
7

Hintergrund:Was ist Blähungen mein Png?

ich machen eine Reihe von PNG-Dateien so klein wie möglich arbeite. Ich spiele mit Werkzeugen wie PngOut, PngCrush und OptiPng.

Problem:

ich auf eine Datei lief, die 1434 KB groß ist, aber es ist nur 230 x 230 Pixel. Wenn ich die Datei in Paint.Net öffne und als neue Datei speichere, beträgt die neue Datei nur 77 KB. Das ist eine satte 1,325 MB zusätzlichen Müll dort!

Ziele:

Ich mochte verstehen, was genau die Datei Blähungen, und auch sein könnte, wie ich automatisch solches aufblasen loswerden kann, wenn es auftritt, und haben Schwierigkeiten, das entweder diese Ziele erreichen . OptiPng entfernt die Metadaten nicht.

Fortschritt:

Ich fand exiftool die all-around awesome scheint, aber es ist keine verrückt Tags zeigt.

RIOT kann eine neue Version des Bildes ohne die zusätzlichen Daten erstellen, aber es gibt mir keine soliden Hinweise darauf, was der Bloat ist - es ist definitiv nicht XMP-Informationen oder Kommentare (die einzigen Metadaten, die ich wählen kann) einschließen). Aber RIOT entfernt IPTC-Informationen und EXIF-Profile automatisch und gewaltsam - könnte es einer davon sein?

Wunsch Feedback zur

Ihre Gedanken darüber, wie von PNGs programmatisch oder automatisch verlustlos zerkleinern und entfernen Metadaten (und was das betrifft, andere Bildtypen) werden geschätzt. Ich möchte jedoch nicht einfach Informationen in einer Datei wegwerfen, ohne zuerst zu verstehen, was es ist.

aktualisieren

fand ich Steel Bytes Jpeg & PNG Stripper, und es macht aus der Datei, die Metadaten Streifen (und einen Kommandozeilen-Modus hat), eine 84 KB-Datei ergeben, die dann kann ich noch PNG optimieren, aber das doesn Hilf mir nicht zu verstehen, was ich entferne, und ich habe das Gefühl, dass ich es verstehen muss, bevor ich fortfahre. Ich brauche keine Erlaubnis, um diese Bilder zu optimieren, die auf einer öffentlich zugänglichen Website verwendet werden, aber ich muss sicher sein, was ich mache, bevor ich eine solche Änderung mache.

aktualisieren 2

ich nicht bemerkt, dass OptiPNG eine Option hat, -strip all, die Metadaten-Streifen. Dies ist besser als der Steel Bytes Stripper, da es viel mehr Optionen für die Backup-Handhabung der Originaldatei bietet - ein Backup erstellen oder die optimierte Datei an einem neuen Ort ausgeben. Es kann auch die Bilddaten des PNG gleichzeitig optimieren, wobei nur ein Werkzeug statt zwei benötigt wird.

Nachtrag

Hier ist, was exiftool -a -G [file.png] zeigt:

[ExifTool]  ExifTool Version Number   : 9.60 
[File]   File Name      : file.png 
[File]   Directory      : . 
[File]   File Size      : 1446 kB 
[File]   File Modification Date/Time  : 2014:03:31 16:37:20-07:00 
[File]   File Access Date/Time   : 2014:05:15 15:47:53-07:00 
[File]   File Creation Date/Time   : 2014:05:15 15:47:53-07:00 
[File]   File Permissions    : rw-rw-rw- 
[File]   File Type      : PNG 
[File]   MIME Type      : image/png 
[PNG]   Image Width      : 230 
[PNG]   Image Height     : 230 
[PNG]   Bit Depth      : 8 
[PNG]   Color Type      : RGB with Alpha 
[PNG]   Compression      : Deflate/Inflate 
[PNG]   Filter       : Adaptive 
[PNG]   Interlace      : Noninterlaced 
[PNG]   Significant Bits    : 8 8 8 8 
[PNG]   Pixels Per Unit X    : 2834 
[PNG]   Pixels Per Unit Y    : 2834 
[PNG]   Pixel Units      : Meters 
[PNG]   Creation Time     : 3/31/14 
[PNG]   Software      : Adobe Fireworks CS6 
[XMP]   XMP Toolkit      : Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 
[XMP]   Creator Tool     : Adobe Fireworks CS6 (Macintosh) 
[XMP]   Create Date      : 2012:10:24 19:01:30Z 
[XMP]   Modify Date      : 2014:03:31 23:34:45Z 
[XMP]   Format       : image/png 
[Composite]  Image Size      : 230x230 
+0

Können Sie auf Ihre "keine verrückten Tags" erweitern? 230 x 230 x 4 = 206.6Kb, und selbst mit der denkbar schlechtesten * Kompression kann sich nicht so viel ausdehnen. 'pngcheck' sollte ein gutes Werkzeug sein. Wahrscheinlichster Kandidat: ein einzelnes großes Farbprofil ('gAma',' cHRM' oder 'iCCP'). – usr2564301

+0

@Jongware Siehe Addendum - dies ist die vollständige Ausgabe, die exiftool für die Metadaten-Tags in der Datei angibt. Ich schaue in pngcheck. Vielen Dank! – ErikE

+0

"Exif" ist nur ein kleinerer Teil der PNG-Metadaten; Art von "Zusammenfassung", für Software, die es in einem verständlichen Format benötigen könnte. 'pngcheck' wird die rohen Eingeweide Ihrer PNGs freilegen. Nur * sehr * wenige Datenblöcke sind tatsächlich * erforderlich *. – usr2564301

Antwort

3

Die Rohpixeldaten Ihrer 230x230 Pixel Bild nicht so groß sein sollte, wenn auch schlecht oder gar nicht komprimiert. Daher müssen sich alle diese Daten in einem nicht standardmäßigen PNG-Datenabschnitt befinden.

Verwenden Sie pngcheck, um herauszufinden, welche Chunks in der Datei sind und wie groß sie sind. Verwenden Sie dann die W3C PNG Specifications, um die Verwendung bestimmter Chunks zu ermitteln, und suchen Sie woanders nach "privaten Daten" Chunks.

Sofern Sie nicht mit einem ernsthaft Nicht-Standard-Chunk beschäftigen, alle, deren name angeben, sind nicht "erforderlich", sind mögliche Kandidaten für die Entfernung.

+0

Siehe den Abschnitt Ergebnisse, die ich der Frage hinzugefügt habe. – ErikE

+0

... oder nicht. Ich muss es irgendwie nicht geschafft haben, mich zu melden. Ich werde versuchen, die Frage bald zu aktualisieren. – ErikE