ImageMagick – Reduzierung der Dateigröße

Imagemagick Reduzierung Der Dateigrosse



Ein schönes und großes Bild ist einfach großartig; es wird normalerweise von einer enormen Qualität begleitet. Es gibt jedoch viele, viele Fälle, in denen Sie es sich nicht leisten können, zu große Bilder zu haben. Manchmal möchten Sie nur ein Bild in anständiger Größe oder sogar eines, das kleiner als eine bestimmte Größe ist. In solchen Fällen wünscht sich der Programmierer nur einen Weg, einen Mittelweg zwischen Qualität und Größe zu finden. Wenn Sie die Qualität ganz aufgeben, sollte die Dateigröße theoretisch kein Problem sein, aber das eigentliche Geschäft besteht darin, einen Kompromiss zwischen Qualität und Dateigröße zu finden. In diesem Tutorial besprechen wir Möglichkeiten, die Dateigröße von Bildern mit ImageMagick zu reduzieren (ohne die Qualität zu stark zu beeinträchtigen).

ImageMagick installieren

Dafür brauchen wir ImageMagick, also installieren wir es zuerst:







sudo apt-get installieren Bildmagie



Der Qualitätsschalter

Die erste und einfachste Möglichkeit, die Größe eines Fotos/Bildes/Videos zu verringern, besteht darin, die Qualität des Fotos zu verringern. Der Qualitätsschalter repräsentiert die JPEG/MIFF/PNG-Komprimierungsstufe. Bei JPEG und MPEG steht eine Qualität von 1 für die höchste Komprimierungsstufe und die niedrigste Bildqualität, während 100 für die niedrigste Komprimierungsstufe und die beste Qualität steht.



Schauen wir uns also ein Beispiel an; Das Bild, das ich von einem Baum gemacht habe, hat eine Auflösung von 4624 × 3468 und eine Größe von 5,70226 MiB. Dies ist das Originalbild, ein JPEG, um genau zu sein.






Nun wollen wir die Größe des Bildes verkleinern. Versuchen wir also, die Einstellungen des Qualitätsschalters etwas anders einzustellen, und sehen, was passiert.

konvertieren Sie tree_4624x3468.jpg -Qualität 75 baum_4624x3468_quality75.jpg
konvertieren Sie tree_4624x3468.jpg -Qualität 25 Baum_4624x3468_Qualität25.jpg



Ich habe die Qualität für ein Bild auf 75 und für ein anderes auf 25 reduziert. Das Originalbild hatte eine Größe von 5,70226 MiB, aber das Bild mit einer Qualität von 75 wurde zu 2,74664 MiB, während das Bild mit einer Qualität von 25 zu 1358250 (1,295 MiB) wurde. Hier würde ich persönlich zur 75%-Qualität greifen.



Da uns nun auch die tatsächliche Qualität des Fotos wichtig ist, möchte ich Ihnen die Fotos zeigen:


baum_4624x3468_quality75.jpg


Baum_4624x3468_Qualität25.jpg

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

Jetzt habe ich versucht, dasselbe mit PNG zu tun, und das ist, was ich bekommen habe:


Also ging es von 23501600B (22,413MiB) auf 22,2854MiB. Für ein JPEG ging es von 5,70226 MiB auf 1,295 MiB. Bei nicht verlustbehafteten Formaten wie PNG ist der Qualitätswechsel viel schwieriger.

Bilder verkleinern

Die Größenänderung von Bildern ist eine andere Möglichkeit. Zum Beispiel:

konvertieren Sie tree_4624x3468.jpg - Größe ändern fünfzig % x50 % tree_4624x3468_resize50 % .jpg



Wie Sie deutlich sehen können, war das Bild mit 4624 × 3468 5,70226 MiB groß, während das mit 2312 × 1734 nur 1,56287 MiB groß war.

Der Define-Schalter

Auf den Define-Schalter folgt eine Taste und ihr gegebener Wert.

-Schlüssel definieren{=Wert}…

Die Liste der möglichen Schlüsselwerte finden Sie unter .

Für PNG können Sie png:compression-level=value verwenden. Der Wert kann zwischen 0 und 9 liegen. Ein Wert von 0 bietet Ihnen die geringste Komprimierung, aber es ist schnell, und ein Wert von 9 bietet Ihnen die beste Komprimierung, ist aber am langsamsten. Alles dazwischen geht auch.

Zum Beispiel:

konvertieren Sie tree_4624x3468.png -definieren png:komprimierungsstufe= 9 tree_4624x3468_compression9.png



In den meisten Fällen möchte ein Programmierer eine maximale Größe für ein Foto festlegen. Angenommen, Sie möchten beispielsweise eine maximale Größe für ein Foto festlegen. Dazu können Sie den Define-Schalter verwenden.

-define jpeg:extent={Größe}

konvertieren Sie  tree_4624x3468.jpg -definieren JPEG: Ausmaß =1MB Baum_4624x3468_Ausdehnung1MB.jpg



Wie Sie im obigen Bild sehen können, wurde es auf eine Auflösung von 4624 × 3468 und eine Größe von 0,897 MiB eingestellt. Wie Sie es angefordert haben, hat ImageMagick also ein Foto erstellt, das kleiner als die maximale Größe von 1 MB ist.

Streifenschalter

Bilder, die wir mit Kameras aufnehmen, enthalten Metadaten. Das Entfernen der Metadaten kann auch etwas Platz schaffen. In ImageMagick verwenden wir dazu den Streifenschalter.

konvertieren Sie tree_4624x3468.jpg -Streifen Baumstreifen.jpg



Wie Sie sehen können, ist das Originalfoto hier 4624 × 3468 und 5,7 MiB groß. Aber das Bild, dessen Metadaten entfernt wurden, ist 4,65 MiB groß.

Farbraumschalter

Sie können auch versuchen, den Farbraum zu ändern. In diesem ersten Fall werde ich es grau machen.

konvertieren Sie tree_4624x3468.jpg -Farbraum grauer Baum_grau.jpg -Qualität 75



Wie Sie sehen können, ist die Reduzierung der Bildgröße nicht zu groß, aber es gibt eine Reduzierung – von 5,70226 MiB auf 4,44997 MiB.

Alternativ habe ich auch folgendes probiert:

konvertieren Sie tree_4624x3468.png -Farbraum grauer Baum_graypng.png



Im Falle eines PNG ist mein Originalfoto, das 4624 × 3468 groß ist, 22,42 MiB groß, aber wenn ich es grau mache, werden es 8,88 MiB.

Farben wechseln

Sie können auch die Anzahl der verwendeten Farben ändern. In diesem speziellen Fall werde ich nur 16 Farben für ein PNG verwenden.

konvertieren Sie tree_4624x3468.png -Farben 16 tree_4624x3468_16colors.png



Das ursprüngliche PNG war 4624 × 3468 und 22,42 MB groß. Als ich jedoch die Farben auf nur 16 änderte, wurde das Bild 4,27 MB groß. Und das Foto sieht so aus:


tree_4624x3468_16colors.png

Verwendung mehrerer Schalter

Jetzt müssen Sie keinen einzigen Schalter mehr auf einem Foto verwenden! Sie können beliebig viele Schalter auf einem Bild kombinieren.

In Beispiel 1 mache ich also ein PNG-Foto von einem Baum. Dieses Originalfoto ist 4624 × 3468 und 22,42 MB groß, und ich werde mehrere Schalter verwenden und sehen, wohin es mich führt.

konvertieren Sie tree_4624x3468.png -Streifen - Größe ändern 75 % x75 % -definieren png:komprimierungsstufe= 9 -Farbraum grau  tree_4624x3468_reducedsize.png



Aus diesem PNG mit einer Originalgröße von 22,42 MiB wurde also ein Bild mit 5,3 MiB. Das resultierende Bild hat etwa 23 % der Originalgröße.

Schauen wir uns als nächstes ein JPG an.

konvertieren Sie tree_4624x3468.jpg -Qualität 75 - Größe ändern 75 % x75 % -Streifen -Farben 16 tree_4624x3468_reducedsize.jpg



Hier sind wir also für das JPG von einer Originalgröße von 5,7 MiB auf etwa 2,2 MiB für ein farbiges Bild gegangen.

Aber wenn es nicht farbig wäre:

konvertieren Sie tree_4624x3468.jpg -Qualität 75 - Größe ändern 75 % x75 % -Streifen -Farbraum grauer Baum_4624x3468_reduzierteGröße.jpg



Hier sind wir von einer Originalgröße von 5,7 MB auf 1,6 MB für ein graues Bild gegangen.

Wenn Sie 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 konzentrieren.

Fazit

Wenn wir Code für einen bestimmten Zweck schreiben, neigen wir dazu, auch Bilder zu verwenden, und manchmal können wir es uns einfach nicht leisten, zu große Bilder zu haben. In solchen Fällen liegt das Hauptaugenmerk des Programmierers darauf, einen Kompromiss zwischen der Größe des Bildes und der Qualität des Bildes zu finden. Wir wollen keine zu minderwertigen Bilder verwenden, können uns aber auch keine großformatigen Bilder leisten. Wir brauchen also Möglichkeiten, die Größe des Bildes zu reduzieren. ImageMagick bietet eine Vielzahl von Möglichkeiten, die Größe Ihres Bildes in Form verschiedener Schalter zu reduzieren – Qualität, Größe ändern, definieren usw. Sie können einen oder mehrere davon verwenden, um die Größe des Bildes anzupassen.