Bilder vergrößern und verkleinern mit ImageMagik

Automatische Anpassung von Bildern für statische Websites

Inhaltsverzeichnis

Mainroad Theme in Hugo resiziert Bilder nicht automatisch, sondern kopiert sie einfach aus dem statischen Ordner. Daher müssen wir einen Skript schreiben, um Bilder zu skalieren und zu beschnitten.

678x495 Zauberer

Wann

Ich habe mehrere Bildquellen – Smartphone und Kamera sind am häufigsten genutzt. Sie haben unterschiedliche Auflösungen und Seitenverhältnisse.

Daher benötigen wir eine Verarbeitungssequenz:

  • zentrales Ausschneiden auf das Seitenverhältnis
  • Skalieren (Verkleinern) auf zwei Auflösungen. Eine JPEG-Qualität von 80 % ist ausreichend.
    • 235x171
    • 678x495

Wo

Nehmen wir an, die Quellbilder befinden sich alle im Ordner ~/tmp/img_src Wir müssen

  • die Ergebnisbilder in die Ordner ~/tmp/img_235x171 und ~/tmp/img_678x495 verschieben
  • die Bilder so benennen: _235x171.jpg und _678x495.jpg

Wie

Unter Ubuntu Linux verwenden wir imagemagick

sudo apt-get install imagemagick

Schritt zum Ausschneiden:

convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# jetzt die Geometrie überprüfen
identify wizard.png wizarc.jpg

Schritt zum Skalieren

convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# jetzt die Geometrie überprüfen
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg

80 ist die JPEG-Qualität, und plane bedeutet progressive JPEG. Es hilft, Bilder schneller zu laden, bei langsamen Verbindungen, nicht nur, weil zuerst das Vorschaubild geladen wird, sondern auch, weil die Datei selbst kleiner ist. Zumindest im Fall des Zauberers.

Mit Rahmen

convert wizarc.jpg -resize 676x493 -quality 80 -interlace plane -border 1x1 wizarc_678x495.jpg
convert wizarc.jpg -resize 233x169 -quality 80 -interlace plane -border 1x1 wizarc_235x171.jpg
# jetzt die Geometrie überprüfen
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg

Das Ergebnisbild, das Sie oben in diesem Beitrag sehen, und die Proportionen des Quellbildes sahen so aus:

20% des Zauberers

Das ist nach einfacher Skalierung und Hinzufügen eines Rahmens

convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg

Andere Optionen

nautilus-image-converter

nautilus-image-converter ist eine Nautilus-Erweiterung, um Bilder in Massen zu skalieren oder zu drehen. Um nautilus-image-converter in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie folgendes ein:

sudo apt-get install nautilus-image-converter

Es fügt zwei Kontextmenüelemente in Nautilus hinzu, sodass Sie mit der rechten Maustaste klicken und „Bild skalieren“ wählen können. (Das andere ist „Bild drehen“.)

Sie können einen ganzen Ordner mit Bildern in einem Schritt verarbeiten, und Sie müssen nicht einmal eine Anwendung öffnen, um dies zu tun.

Sie müssen Nautilus neu starten, um die neuen Kontextmenüs zu sehen, führen Sie folgendes aus:

nautilus -q

und klicken Sie dann auf das Symbol für den Home-Ordner, um Nautilus mit der neuen Erweiterung neu zu laden.

mogrify

Der Befehl mogrify überschreibt die ursprünglichen Dateien mit den skalierten Bildern:

mogrify -resize 50% *.png # Seitenverhältnis beibehalten mogrify -resize 320x240 *.png # Seitenverhältnis beibehalten mogrify -resize 320x240! *.png # Seitenverhältnis nicht beibehalten mogrify -resize x240 *.png # Seitenverhältnis nicht beibehalten mogrify -resize 320x *.png # Seitenverhältnis nicht beibehalten

Andere nützliche Tools

Bildmetadaten wie Auflösung, Bit-Tiefe usw. erhalten – Teil des imagemagick-Pakets.

identify image.jpg 

erzeugt etwas wie

image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009

Bilder in PDF konvertieren

convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf