Für ein kleines Projekt, bei welchem in regelmäßigen Abständen die auf Handys erstellten Fotos automatisch mit Hilfe einer Synchronisations-App auf einen FTP-Server geschoben werden sollten, war es nötig, dass diese Bilder auch automatisch in das richtige Format „rotiert“ werden. Diese Bilder sollten mittels eines PHP-Skriptes nach Erstellungsdatum sortiert im Browser angesehen werden können. Auf der Seite wurden diese allerdings falsch angezeigt. Die Bilder erst während des Seitenaufrufs mittels PHP zu rotieren hatte nicht wie gedacht funktioniert. Deshalb musste auf eine andere Lösung, bei welcher die Bilder direkt „bearbeitet“ werden und die Änderung in den Bilddateien gespeichert wird, ausgewichen werden musste.
Das Programm Jhead, für das automatische Rotieren der Bilder, lässt sich unter Ubuntu recht einfach installieren:
1 |
apt-get install jhead |
Mit Jhead lässt sich ein Bild ganz einfach richtig ausrichten, allerdings müssen dafür die entsprechenden Informationen von der Kamera in die Datei geschrieben worden sein. Dies ist aber heutzutage der Standardfall.
Mit dem Parameter -autorot (Autorotate) und der Angabe des Pfades zum Bild, wird dieses anhand der Lage-Informationen (vertikal / horizontal) automatisch gedreht:
1 |
jhead -autorot /var/www/html/fotos/test.jpg |
Weiter bietet Jhead noch Möglichkeiten um die Exif-Informationen und Vorschaubilder der Bilder zu bereinigen. Einen Überblick gibt es hier. Einen Artikel warum dies sinnvoll sein kann und dafür in Betracht kommende Windows-Programme hatte ich bereits in einem älteren Beitrag vorgestellt.
Ein super Feature in Jhead ist, dass man den Pfad zu den Bildern so angeben kann, dass alle Bilder innerhalb eines Ordners und das auch rekursiv für alle Unterordner rotiert werden können:
1 2 3 4 |
#!/bin/bash # check all images in specified folder and autorotate them if neccessary jhead -autorot /var/www/html/fotos/*/*.jpg |
Das Skript, je nachdem in welcher Regelmäßigkeit es ausgeführt werden soll, legt man z. B. unter etc/cron.hourly ab und muss es nur noch ausführbar machen:
1 |
chmod +x /etc/cron.hourly/autorotate.sh |
Danach wird das Skript automatisch ausgeführt und rotiert, sofern nötig, alle Bilder.