2016-05-16 24 views
-1

Es gibt viele Programme, die die Größe einer Datei .png aber keiner der gut bekannten zu reduzieren behaupten, optipng, pngcrush, pngquant, lassen Sie mich auf eine bestimmte Größe schrumpfen. pngcrush versuchte es am härtesten, aber das Ergebnis war immer noch zu groß für meine Bedürfnisse. Für .jpg Dateien hat jpegoptim eine Option -m, die es mir erlaubt, auf die Größe zu verkleinern, die ich brauche. Die naheliegende Lösung wäre, in jpg zu konvertieren, auf die richtige Größe zu verkleinern, dann zurück zu konvertieren, aber das funktioniert auch nicht, die wiederhergestellte .png Datei springt einfach auf ihre ursprüngliche Größe zurück.verkleinern die Größe einer PNG-Datei

Vermutlich hat dies etwas mit der Struktur von .png-Dateien zu tun.

Gibt es any Weg, um eine kleine PNG-Datei zu bekommen? This png file ist ein Beispiel für etwas, das ich unter 1K Bytes verkleinern muss.

Vielen Dank für Anregungen!

+0

PNG ist verlustfrei, Sie können nicht vorgeben, ein PNG-Bild auf eine vorher festgelegte Größe zu komprimieren. – leonbloy

Antwort

1

Die einzige Lösung für Ihr Problem, die ich denken kann, ist .jpg anstelle von .png zu verwenden. Das Format .jpg wurde hauptsächlich für die verlustbehaftete Komprimierung erstellt, erhält aber trotzdem ein Bild, das gut genug ist. Auf der anderen Seite geht .png für die volle Transparenz und keinen Qualitätsverlust. Um alles zusammenzufassen, ist .jpg ideal für kleinere Dateien, wenn die Qualität keine Rolle spielt, und .png ist perfekt für qualitativ hochwertige Bilder, die Qualität und Farbe wirklich wichtig ist.

Quellen: http://www.labnol.org/software/tutorials/jpeg-vs-png-image-quality-or-bandwidth/5385/, http://www.interactivesearchmarketing.com/jpeg-png-proper-image-formatting/

+0

Danke an alle für ihre Kommentare. Mein Problem ist leider, dass ich eine * wirklich * kleine .png Datei brauche, um sie als Button Icon mit fvwm zu verwenden. Aus unerklärlichen Gründen akzeptiert fvwm keine JPG-Bilder, sondern nur kleine Bilder !!! Es scheint, dass meine einzige Zuflucht ist, zu versuchen, die fvwm Leute zu ermutigen, JPG-Bilder zu erlauben. –

+0

@LeoSimon Wenn Sie unter 1k sind, sind Sie wirklich an der Grenze von nur ein paar Header-Informationen und vielleicht-fremde Datenblöcke weht viel von Ihrem Budget. Wie alle gesagt haben, ist PNG nicht dafür ausgelegt. Das heißt, dieses Bild ist ziemlich einfach grafisch und ich vermute, das Bild selbst könnte leicht "PNG" für die Verwendung von Blöcken von Volltonfarben, keine unnötigen Gradienten, strenge oder keine Antialiasing, etc. Ich bin sicher, ein Bild, das visuell war Ähnliches könnte mit PNG unter 1k kommen. –

0

kann ich fest, dass 9,5 KB Datei erhalten auf 3,4 KB die 8-Bit-Palette PNG-Format. Das Bild hat eine transparente Grenze, die unnötige Pixel und einen Alpha-Kanal für das gesamte Bild, das nicht benötigt wird, hinzufügt, da es rechteckig ist. Nach dem Entfernen der transparenten Grenze, dem Eliminieren des Alphakanals und dem Verwenden einer Palette kann ich es auf 3,2 KB heruntersetzen.

Um weiter zu kommen, muss ich JPEG für verlustbehaftete Kompression verwenden. Bei einer sehr niedrigen Bildqualität von 5 (von 100) kann ich es auf 1 KB heruntersetzen. Es zeigt einige Artefakte aus der schweren Kompression (schauen Sie sich um die prompte> und _ einige von denen zu sehen):

icon

1

Verwenden ImageMagick die Farben zu reduzieren, pngcrush dann von Neben Brocken loszuwerden:

magick in.png -colors 8 temp.png 
pngcrush -rem alla temp.png out.png 

Ergebnisse in einer 1621-Byte-Datei. Wenn Sie eine ältere Version von ImageMagick verwenden, verwenden Sie "convert" anstelle von "magick". Wenn Sie "-colors 4" anstelle von "-colors 8" verwenden, erhalten Sie eine 1015-Byte-Datei, aber das Dithering sieht sehr fleckig aus.

Beachten Sie, dass diese die Transparenz im Bild erhalten, während beim Konvertieren in JPEG die Transparenz verloren geht und der Hintergrund eine einheitliche Farbe erhält.

Verwandte Themen