Advitum.de auf Google+

Automatische Bildskalierung mit PHP

Automatische Bildskalierung mit PHP
VN:F [1.9.22_1171]
Bewertung: 3.5/5 (2 Stimmen abgegeben)
Von am
Kategorien: Arbeit, Design, PHP, Programmieren, Tipps

In vielen meiner Webanwendungen spielen Bilder verschiedenster Größe eine große Rolle. Auf Advitum und Weevo sind es meine Referenzen, auf abi12 vom Nutzer hoch geladene Bilder. Um die Bilder zu präsentieren, sollte man eine flexible Kontrolle über die Bildgröße haben.

Zeigt man per HTML Bilder an, kann man zwar die Größe als Attribute übergeben, allerdings sind nicht alle Browser gleich gut darin, die Bilder auf die gewünschte Größe zu reduzieren, was oft zu unschönen Ergebnissen führt. Außerdem werden die Bilder erst beim Clienten skaliert, also in voller Größe übermittelt. Besser wäre es, die Bilder schon auf dem Server zu skalieren, damit der Traffic reduziert und die Qualität der Skalierung nicht dem Zufall überlassen wird.

Automatische Bildskalierung mit PHP, 3.5 out of 5 based on 2 ratings

Ein Praxisbeispiel

Schauen wir uns einmal die Referenzen auf Weevo.de an. Ich möchte die Bilder gerne unbearbeitet auf den Server laden und das Aufbereiten der Bilder für die Galerie soll automatisch passieren.

Die Referenzen werden automatisch skaliert.
Die Referenzen auf Weevo.de werden automatisch auf dem Server skaliert.

Wie man sehen kann, werden die Bilder in zwei verschiedenen Größen dargestellt, zusätzlich können die Bilder per Klick vergrößert werden. Es müssen also drei verschiedene Bildgrößen automatisch generiert werden.

Für die dynamische, automatische Skalierung von beliebigen Bildern kann ich den »Smart Lencioni Image Resizer«, kurz SLIR empfehlen. Man muss im Vorfeld keinerlei Vorbereitungen treffen, die Parameter für die Skalierung werden einfach in das SRC-Attribut geschrieben, so können die Bilder in jeder beliebigen Größe verwendet werden. Außerdem verfügt das Script über eine hervorragende Cache-Funktion, sodass die Bilder nur einmal skaliert werden müssen.

Wie wird SLIR verwendet?

Aber jetzt zeige ich erstmal, wie der Image-Tag aussehen muss.

<img src="/slir/w150-h150-c1.1/images/bild.jpg" alt="Ein Bild" />

Das SLIR-Script liegt in dem Ordner /slir/ und die Bilder im Ordner /images/. Die Parameter bedeuten, dass die Breite (w150) und die Höhe (h150) maximal 150 Pixel betragen sollen und das Bild auf ein Seitenverhältnis von 1:1 zugeschnitten werden soll (c1.1). Sollen die Bildgröße oder das Seitenverhältnis geändert werden, so muss nur der Pfad geändert werden. Die originale Bilddatei bleibt, wie sie ist.

Wie man sieht, ist es also sehr einfach, die Bilder zu skalieren. Allerdings hat diese Lösung auch einen Nachteil. Der Server muss über PHP 5 oder höher verfügen, ansonsten läuft das Script nicht.

Was mache ich, wenn auf meinem Server nur PHP 4 läuft?

Leider weiß ich aus Erfahrung, dass es sehr viele Server gibt, auf denen PHP 5, aus welchen Gründen auch immer, nicht installiert ist. Auf diesen Servern sollte man den Vorgänger von SLIR, den »Smart Image Resizer« ausprobieren. Die einzige PHP-Funktion, die das Script benötigt, ist imageconvolution(), diese kann man aber manuell nachliefern.

Der Nachteil hierbei ist allerdings, dass das Script so ziemlich viel Memory auf dem Server benötigt und ziemlich langsam ist. Je größer die Bilder, desto mehr Speicher wird benötigt.

Fazit

Ich hoffe, ihr findet Verwendung für dieses extrem nützliche Script. Es ist wirklich genial, wie einfach damit Bilder automatisch auf dem Server skaliert werden können. So kann man einige Zeit sparen, die man sonst mit dem Skalieren von Bildern verbracht hätte.

Was sagt ihr?

Ist das genau das, was ihr gerade sucht? Werdet ihr das Script selbst verwenden oder verwendet ihr es vielleicht sogar schon? Erzählt mir davon in den Kommentaren!

Automatische Bildskalierung mit PHP, 3.5 out of 5 based on 2 ratings

Links zum Thema

Jetzt seid ihr dran!

Teilt eure Meinung mit uns in den Kommentaren, gebt eine Bewertung für diesen Artikel ab und teilt ihn in Social Networks!

Über

Ich bin ein junger Webdesigner und Programmierer aus Siegen und blogge auf Advitum.de über meine Erfahrungen im Web. Meine Themenschwerpunkte liegen im Bereich der Web-Entwicklung mit PHP, JavaScript, HTML und anderen Script-, Programmier- und Markup-Sprachen, der Nutzung von Content Management System wie Typo3, Wordpress etc. und der Effekt-Hascherei mit Photoshop. Seit 2008 blogge ich auf Advitum.de – mal mehr, mal weniger regelmäßig – über alles, was mich so interessiert. Wenn dir mein Blog gefällt, freue ich mich immer sehr über Feedback in Form von Kommentaren und E-Mails.

Kommentare zu diese Artikel

Schreibe jetzt einen Kommentar!

Diese Artikel könnten dir auch gefallen