Gestern versuchte ich, ein ganzes Verzeichnis voll mit monochromen sogenannten "Ausmalbildern" aus dem Netz in Graphics 8 umzuwandeln. Diese lagen als WEBP-Dateien vor. Dabei sollte ImageMagick als Kommandozeilenprogramm zum Einsatz kommen. Da ich gerade an meinem zweit-neuesten MacBook, einem MacBook1,1 mit 32 Bit und Snow Leopard, saß, wollte ich diese Konvertierungen hieran vornehmen. Nun weiß ich ja, dass sich ImageMagick ganz leicht aus den aktuellen Quellen installieren lässt. Doch die frisch gebaute und installierte Version allein ist gar nicht fähig, WEBP oder andere Formate zu lesen. Deshalb müssen die richtigen Bibliotheken installiert sein - und da ich das ohne die Hilfe fremder Paketmanager machen möchte, müssen auch diese Bibliotheken aus den Quellen gebaut und installiert werden. Hier nun eine Schritt-für-Schritt-Anleitung, welche Bibliotheken und Programme benötigt werden, um ImageMagick in einer brauchbaren Version zu installieren.
Wie das geht, müsst Ihr wohl selbst herausfinden, denn das ist für die verschiedenen Versionen von Mac OS X sehr unterschiedlich. Für Snow Leopard hatte ich vor langer Zeit schon Xcode und die Developer-Tools in Version 3.2.2 von Apples Servern heruntergeladen und sie nun frisch auf diesem Rechner installiert.
Zlib ist Voraussetzung für libpng.
zlib-1.3.1.tar.gz herunterladen, entpacken und bauen mit
./configure
Offizielle Homepage und Download-Möglichkeit: https://zlib.net/
make
sudo make install
Zum Lesen und schreiben von PNG-Dateien brauchen wir die entsprechenden Bibliotheken.
libpng-1.6.53.tar.gz herunterladen, entpacken und bauen mit
LDFLAGS="-L/usr/local/lib" ./configure
ChatGPT schlug eigentlich folgenden Befehl zur Konfiguration vor:
CFLAGS="-arch i386 -O2" PREFIX=/usr/local CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure --with-zlib-prefix=/usr/local,
aber beim erneuten Durchspielen des Ganzen war dies nicht nötig.
make
sudo make install
Außerdem muss -arch i386 auf einem 32-Bit-System eigentlich nicht gesetzt werden bzw. muss bei einem 64-Bit-System weggelassen werden.
Offizielle Homepage: https://www.libpng.org/pub/png/libpng.html
Download-Möglichkeit: https://sourceforge.net/projects/libpng/files/libpng16/1.6.53/
Gleiches gilt für JPEG-Dateien.
jpegsrc.v9f.tar.gz herunterladen und entpacken
./configure
Offizielle Homepage und Download-Möglichkeit: https://ijg.org/
make
sudo make install
So wie für die ganz neuen WEBP-Dateien.
libwebp-refs_tags_v1.1.0.tar.gz herunterladen und installieren
./autogen.sh
Offizielle Homepage und Download-Möglichkeit: https://developers.google.com/speed/webp/download?hl=de
./configure
make
sudo make install
Ohne pkg-config findet das Konfigurations-Script von ImageMagick nicht die soeben installieren Versionen der benötigten Bibliotheken.
pkg-config-0.29.2.tar.gz herunterladen und entpacken
./configure --with-internal-glib
Offizielle Homepage und Download-Möglichkeit: https://www.freedesktop.org/wiki/Software/pkg-config/
make
sudo make install
Endlich bauen und installieren wir ImageMagick in der aktuellen Version.
ImageMagick.tar.gz herunterladen und entpacken
./configure
ChatGPT schlug eigentlich folgende Befehlszeile zur Konfiguration vor:
CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure --prefix=/usr/local --without-x --without-fftw --disable-openmp,
doch nach erneutem Durchspielen war dies nicht nötig.
Lediglich --disable-openmp sollte man verwenden,
falls Snow Leopard 32 Bit Probleme beim Verwenden mehrerer Prozessoren haben sollte.
make
sudo make install
Offizielle Homepage: https://imagemagick.org/
Download-Möglichkeit: https://imagemagick.org/script/install-source.php
Getestet auf einem MacBook1,1 (32 Bit) unter Snow Leopard.
Alle Bibliotheken ließen sich mit den oben genannten Befehlen bauen.
Die nun gebaute Version von ImageMagick liest sowohl WEBP-Dateien als auch PNG-Dateien
und schreibt die Rohdaten so auf,
dass die als Graphics-8-Bild im sogenannten Micropainter-Format
(eigentlich ist es ja das Standard-Atari-Speicherabbild-Format)
verwendet werden können.
#!/bin/bash
Dieses Script liest ein ganzes Verzeichnis an Bildern ein und gibt bis zu 64 Graphics-8-Bilder aus.
Diese werden mit PIC01.PIC bis PIC64.PIC benannt.
Getestet habe ich dies unter Mac OS X und Linux,
wobei unter Linux in der Regel die ImageMagick-Version des Paketbetreuers verwendet wird.
counter=1
for f in *.webp *.jpg *.jpeg *.png; do
[ -e "$f" ] || continue
printf -v outfile "PIC%02d.PIC" "$counter" # erzeugt PIC01.PIC, PIC02.PIC ...
convert "$f" \
-resize 320x192 \
-background white \
-gravity center \
-extent 320x192 \
-monochrome \
-depth 1 \
-define quantum:format=unsigned \
-negate "GRAY:$outfile"
counter=$((counter + 1))
# Stoppt bei 64 Dateien
if [ $counter -gt 64 ]; then
break
fi
done
Um den Prozess zu beschleunigen,
kann man mehrere Programme parallel installieren.
Wichtig ist aber, dass man erst zlib installiert.
Erst danach sind libpng, libjpg, libwebp und pkg-config an der Reihe,
in mehreren Terminal-Fenstern parallel gebaut und installiert zu werden.
Zum Schluss, nachdem alle libs und pkg-config installiert sind,
ist das Bauen und Installieren von ImageMagick an der Reihe.
So habe ich die gesamte Installation auf einem 1,83 GHz MacBook1,1 in 5 bis 10 Minuten geschafft
(weniger als 5 Minuten für die libs und nochmal einige Minuten für ImageMagick selbst,
die Zeit zum Herunterladen der Quell-Archive nicht mitgerechnet).
libwebp lässt sich unter Mac OS X 10.7 und höher nicht bauen, weil autogen.sh daran scheitert, dass automake bzw. autoconf (eines von beiden) nicht installiert sei. Laut meiner Quellen (ChatGPT) kann man dies in folgender Weise und Reihenfolge nachholen.
m4-1.4.20.tar.gz von
https://ftp.gnu.org/gnu/m4/
herunterladen und entpacken, kompilieren mit
./configure && make && sudo make install
autoconf-2.72.tar.gz von
https://ftp.gnu.org/gnu/autoconf/
herunterladen und entpacken, kompilieren und installieren mit
./configure && make && sudo make install
automake-1.18.1.tar.gz von
https://ftp.gnu.org/gnu/automake/
herunterladen und entpacken, kompilieren und installieren mit
./configure && make && sudo make install
libtool-2.5.4.tar.gz von
https://www.gnu.org/software/libtool/
herunterladen und entpacken, kompilieren und installieren mit
./configure && make && sudo make install
Danach kann man auch libwebp unter Lion / Mountain Lion installieren,
damit ImageMagick auch dieses Format unterstützt.
Um zu kontrollieren, welche Formate die aktuell installierte Version von ImageMagick unterstützt,
fragt man magick -list format ab.