Image Resizer

Aus Hobbyelektronik.org
Version vom 30. Juli 2012, 21:54 Uhr von Chris (Diskussion | Beiträge) (Typo)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ausgangssituation

Eine Bekannte mit mäßigen Kenntnissen in Bildbearbeitung möchte in regelmäßigen Zeitabständen Bilder auf ihre Homepage hochladen.

Problem

Die Bilder von der Digitalkamera sind groß und die Internetverbindung langsam. Also müssen sie in zwei Hinsichten verkleinert werden: Bildgröße und Dateigröße.

Lösung

PHP war schon öfter der schnelle (und v.a. dreckige) Weg zum Erfolg. Also habe ich Teile meines schon etwas in die Tage gekommenen Foto-Albums verwertet und ein kleines Script erstellt, das die Arbeit übernimmt. Damit die gute Frau die Bilder nicht auf meinen Webserver hochladen muss um sie dann kleiner wieder zu bekommen (hirnrissig, siehe Problem), soll das ganze auf dem eigenen PC laufen - ohne Webserver. PHP bietet von sich aus ein CLI (Commandline-Interface) an, dafür braucht man allerdings trotzdem alle PHP-bezogenen Dateien. Ungut, weil man etwas falsch machen kann...

Dank Bambalam und seinem Compiler/Embedder Bamcompile kann man aus PHP-Scripts selbstständig lauffähige EXE-Dateien erstellen - sogar mit Extensions!

Also habe ich das Script etwas mehr auf CLI angepasst und mit Bamcompile zur Executable verarbeitet.

Verwendung

Einfach Bilddateien (JPG, GIF, PNG) auf resize.exe ziehen und schon wird verkleinert. Die verkleinerten Bilder werden im gleichen Ordner erstellt und ihnen wird ein "_sm" angehängt, aus IMG_1234.JPG wird also IMG_1234_sm.JPG Achtung: bestehende Dateien mit diesem Namen werden ohne Rückfrage überschrieben

Momentan wird die lange Kante des Bildes auf 1600 Pixel verkleinert, das Seitenverhältnis bleibt gleich. Bei JPEG wird standardmäßig eine Qualitätsstufe von 90% verwendet. Beide Werte können in der resize.php ganz oben verändert werden, danach muss sie aber neu kompiliert werden.

Ich habe einige Testbilder (ok, 10 Megapixel) um sage und schreibe 90% komprimieren können.

Download

Datei:Resizepics.zip (350 KB)

Nach dem Download muss nur noch die ZIP dekomprimiert werden und einmal compile.bat ausgeführt werden (die EXE liegt aus Platzgründen nicht dabei, dafür der Compiler)

Den Compiler habe ich auf Wunsch meines Hosters gelöscht, da er anscheinend ähnliche Strukturen wie ein Virus hat. Der Compiler selbst kann unter [1] heruntergeladen werden. Benutzung selbstverständlich auf eigene Gefahr.

Alternativen

Im Nachhinein bin ich von meiner Lösung nicht mehr wirklich überzeugt. Genau genommen hat mein kleiner Hack mehr Nach- als Vorteile. Unter anderem ist die Qualität und Performance nicht die beste.

Gute Erfahrungen habe ich mittlerweile mit folgenden Anwendungen gemacht:

Diese Tools verwende ich auch für diese Homepage.