Imagemagick - Reduzierung der Dateigrößen

Imagemagick - Reduzierung der Dateigrößen

Ein schönes und großes Bild ist fast großartig; Es wird normalerweise von enormer Qualität begleitet. Es gibt jedoch viele, viele Male, wenn Sie es sich nicht leisten können, Bilder zu haben, die zu groß sind. Manchmal ist alles, was Sie wollen. In solchen Fällen ist alles, was der Programmierer wünscht, eine Möglichkeit, einen Mittelweg zwischen Qualität und Größe zu finden. Theoretisch, wenn Sie die Qualität ganz aufgeben, sollte die Dateigröße kein Problem sein, aber das reale Angebot besteht darin, einen Kompromiss zwischen Qualität und Dateigröße zu finden. In diesem Tutorial diskutieren wir Möglichkeiten, die Dateigröße von Bildern mithilfe von Imagemagick zu reduzieren (ohne die Qualität zu viel zu beeinträchtigen).

ImageMagick installieren

Wir werden Imagemagick dafür brauchen, also lassen Sie es zuerst installieren:

sudo apt-Get Installieren Sie Imagemagick

Der Qualitätsschalter

Der erste und einfachste Weg, um die Größe eines Fotos/Bildes/Videos zu verringern, besteht darin, die Qualität des Fotos zu verringern. Der Qualitätsschalter repräsentiert den Kompressionsniveau JPEG/Miff/PNG. Für JPEG und MPEG stellt eine Qualität von 1 die höchste Komprimierung und die niedrigste Bildqualität dar, während 100 das geringste Komprimierung und die beste Qualität darstellt.

Schauen wir uns also ein Beispiel an. Das Bild, das ich von einem Baum aufgenommen habe, ist 4624 × 3468 in Bezug auf die Auflösung und 5 beträgt 5.70226MIB. Dies ist das Originalbild, ein JPEG, um spezifisch zu sein.


Jetzt ist der Punkt, dass wir die Bildgröße reduzieren wollen. Versuchen wir also, die Einstellungen für Qualitätsschalter auf etwas anderes zu setzen und zu sehen, was passiert.

Convert tree_4624x3468.JPG -Qualität 75 Tree_4624x3468_Quality75.JPG
Convert tree_4624x3468.JPG -Qualität 25 Tree_4624x3468_Quality25.JPG



Ich habe die Qualität auf 75 für ein Bild und 25 für ein anderes reduziert. Das Originalbild war 5.70226mib, aber das Bild, das eine Qualität von 75 war.74664MIB, während die von Qualität 25 1358250 wurde (1.295 MIB). Hier würde ich persönlich mit der 75% igen Qualität gehen.

Da wir uns jetzt auch um die tatsächliche Qualität des Fotos kümmern, lassen Sie mich Ihnen die Fotos zeigen:


Tree_4624x3468_Quality75.JPG


Tree_4624x3468_Quality25.JPG

Wie Sie sehen können, wurde die Qualität nicht zu sehr betroffen, aber die Dateigröße ist kleiner.

Jetzt habe ich versucht, dasselbe mit PNG zu machen, und das habe ich bekommen:


Also ging es von 23501600b (22.413Mib) bis 22.2854Mib. Für einen JPEG ging es von 5.70226MIB bis 1.295Mib. Für nicht-verletzte Formate wie PNG ist der Qualitätsschalter viel schwieriger.

Bilderänderung

Bilder zu ändern ist ein anderer Weg. Zum Beispiel:

Convert tree_4624x3468.JPG -Resize 50% x50% Tree_4624x3468_Resize50%.JPG



Wie Sie deutlich sehen können, war das Bild, das 4624 × 3468 war.70226mib, während der, der 2312 × 1734 war, nur 1 ist.56287MIB.

Der Schalter definieren

Auf dem Switch Define folgt ein Schlüssel und seinen angegebenen Wert.

-Definieren Sie den Schlüssel = value…

Die Liste der möglichen Schlüsselwerte finden Sie unter https: // Imagemagick.org/script/definiert.Php.

Für PNG können Sie PNG verwenden: Kompressionsebene = Wert. Der Wert kann alles von 0 bis 9 sein. Ein Wert von 0 bietet Ihnen die geringste Komprimierung, aber er ist schnell und ein Wert von 9 bietet Ihnen die beste Komprimierung, ist jedoch die langsamste, die am langsamsten ist. Alles dazwischen geht auch.

Zum Beispiel:

Convert tree_4624x3468.PNG -Define PNG: Kompressionsebene = 9 Tree_4624x3468_Compression9.png



In den meisten Fällen möchte ein Programmierer eine maximale Größe für ein Foto festlegen. Nehmen wir also an, Sie möchten eine maximale Größe für ein Foto festlegen. Sie können den Switch definieren, um dies zu tun.

-Definieren Sie JPEG: Auslehre = Größe

Convert tree_4624x3468.JPG -Define JPEG: Ausmaß = 1MB Tree_4624x3468_EXTENT1MB.JPG



Wie Sie im obigen Bild sehen können, hat es es auf eine Auflösung von 4624 × 3468 und eine Größe von 0 gesetzt.897Mib. Wie Sie verlangten, hat Imagemagick ein Foto erstellt, das weniger als die maximale Größe von 1 MB ist.

Streifenschalter

Bilder, die wir mit Kameras machen, kommen mit Metadaten. Das Entfernen der Metadaten kann auch etwas Platz löschen. In Imagemagick tun wir dies mit dem Streifenschalter mit dem Streifenschalter.

Convert tree_4624x3468.jpg -strip tree_strip.JPG



Wie Sie sehen können, ist das Originalfoto 4624 × 3468 und 5.7MIB. Aber das Bild, bei dem seine Metadaten ausgezogen wurden.65 MIB.

Farbspace -Schalter

Sie können auch versuchen, den Farbbereich zu schalten. In diesem ersten Fall werde ich es grau machen.

Convert tree_4624x3468.JPG -ColorSpace Grey Tree_Gray.JPG -Qualität 75



Wie Sie sehen können, ist die Verringerung der Bildgröße nicht zu groß, aber es gibt eine Reduzierung - von 5.70226MIB bis 4.44997MIB.

Alternativ habe ich auch Folgendes ausprobiert:

Convert tree_4624x3468.png -Korrespace grau Baumstree_Graypng.png



Bei einem PNG ist mein Originalfoto, das 4624 × 3468, 22, 22.42Mib, aber wenn ich es grau werde, wird es 8.88MIB.

Farbenschalter

Sie können sich auch dafür entscheiden, die Anzahl der verwendeten Farben zu ändern. In diesem speziellen Fall werde ich nur 16 Farben auf einem PNG verwenden.

Convert tree_4624x3468.PNG -Colors 16 Tree_4624x3468_16Colors.png



Der ursprüngliche PNG war 4624 × 3468 und 22.42Mib. Als ich jedoch die Farben auf nur 16 änderte, wurde das Bild 4.27Mib in Größe. Und das Foto sieht so aus:


Tree_4624x3468_16Colors.png

Verwenden mehrerer Schalter

Jetzt müssen Sie keinen einzigen Schalter ein Foto verwenden! Sie können so viele Schalter kombinieren, wie Sie auf einem Bild möchten.

In Beispiel 1 werde ich also ein PNG -Foto eines Baumes machen. Dieses Originalfoto ist 4624 × 3468 und 22.42Mib in Größe, und ich werde mehrere Schalter verwenden und sehen, wohin es mich führt.

Convert tree_4624x3468.PNG -STRIP -Resize 75% x75% -Define PNG: Kompressionsebene = 9 -Colorspace Grey Tree_4624x3468_ReducedSize.png



Also dieser PNG mit einer ursprünglichen Größe von 22.42Mib, verwandelt sich in ein Bild von 5.3MIB. Das resultierende Bild beträgt etwa 23% der ursprünglichen Größe.

Schauen wir uns als nächstes einen JPG an.

Convert tree_4624x3468.JPG -Qualität 75 -resize 75% x75% -Strip -Colors 16 Tree_4624x3468_recedSize.JPG



Also, hier für die JPG stiegen wir aus einer ursprünglichen Größe von 5.7 bis ungefähr 2.2Mib für ein farbiges Bild.

Aber wenn es nicht gefärbt war:

Convert tree_4624x3468.JPG -Qualität 75 -resize 75% x75% -Strip -Colorspace Grey Tree_4624x3468_recedSize.JPG



Hier gingen wir aus einer ursprünglichen Größe von 5.7 MIB bis 1.6mib für ein graues Bild.

Wenn Sie es gewollt hätten, hätten Sie auch eine maximale Grenze für die Größe festlegen können. Der Punkt ist, dass Sie die Größe reduzieren können, wenn Sie sich wirklich darauf einstellen.

Abschluss

Beim Schreiben von Code für einen bestimmten Zweck verwenden wir auch Bilder und manchmal können wir es uns einfach nicht leisten, Bilder zu haben, die zu groß sind. In solchen Fällen liegt der Schwerpunkt des Programmierers darauf, einen Kompromiss zwischen der Bildgröße und der Bildqualität zu finden. Wir wollen keine Bilder verwenden, die zu qualitativ hoch sind, aber wir können es uns auch nicht leisten, große Bilder zu haben. Wir brauchen also Möglichkeiten, um die Größe des Bildes zu verringern. Imagemagick bietet eine Vielzahl von Möglichkeiten, um die Größe Ihres Bildes in Form verschiedener Schalter zu verringern - Qualität, Größe, Definieren usw. Sie können einen oder mehrere von ihnen verwenden, um die Größe des Bildes anzupassen.