Bildverarbeitung

Virthos stellt einen Mechanismus bereit, um Bilder serverseitig auf eine bestimmte Größe zu skalieren, damit nicht unnötige Datenmengen übertragen und die Ladezeiten von Webseiten verkürzt werden. Dieser Mechanismus lässt sich in Verbindung mit dem vtMedia-Platzhalter, aber auch unabhängig davon nutzen.

Wenn Sie eine Bilddatei, die sich auf dem Server befindet, skalieren lassen wollen, müssen Sie eine URL wie die folgende verwenden:

http://www.meinedomain.de/pfad-zu-virthos/system/resources/imager.php/pfad-zum-bild?parameter

Wenn der pfad-zum-bild mit -/ beginnt, wird er relativ zum Virthos-Verzeichnis interpretiert, ansonsten relativ zum Verzeichnis data/media.

Der parameter gibt die gewünschte Zielgröße an, wobei folgende Regeln gelten:

  • Gibt man nur einen numerischen Wert an, wird das Bild so verkleinert, dass keine Seite (in Pixeln gemessen) länger ist als diesem Wert entspricht.

  • Soll explizit die Breite oder Höhe vorgegeben werden, kann man dem numerischen Wert ein w (width) oder h (height) unmittelbar voranstellen.

  • Es ist auch möglich, Breite und Höhe vorzugeben, um das Bild in ein vorgegebenes Rechteck einzupassen, zum Beispiel w250h150.

  • Ein zusätzliches f (force) am Anfang oder Ende des Parameters erzwingt, dass das Rechteck komplett ausgefüllt, das Bild also gegebenenfalls an der Längsseite beschnitten wird.

  • Ein zusätzliches x (eXpand) erzwingt dieses Ausfüllen auch bei einem zu kleinen Bild, das heißt, das Bild wird mittels Interpolation vergrößert.

Die Bildskalierung funktioniert nur bei Bildern im jpeg-, gif- und png-Format und nur, wenn in PHP die GD-Bibliothek zur Verfügung steht. Die skalierten Bilder werden immer im jpeg-Format erzeugt

Alle erzeugten Bilder werden in einem Cache-Verzeichnis gespeichert. Bei erneutem Aufruf eines bereits zuvor skalierten Bildes wird auf die gespeicherte Version zurückgegriffen und keine erneute Skalierung durchgeführt. Das Cache-Verzeichnis wird regelmäßig aufgeräumt, damit die Zahl der Dateien und der verwendete Speicherplatz begrenzt bleiben.

Die Bildskalierung und das Cacheing lassen sich über eine Reihe von Konfigurationsparametern beeinflussen:

Konfigurationsparameter Bedeutung
imagerJpegQuality Qualitätsstufe für die jpeg-Komprimierung (Vorgabe: 90)
imagerBasePath Basisverzeichnis für relative Bildpfade, die nicht mit -/ beginnen (Vorgabe: data/media)
imagerCachePath Verzeichnis, in dem die Cache-Bilder gespeichert werden (Vorgabe: cache/images)
imagerCacheMaxSize maximale Größe für den Bilder-Cache in Bytes (0 = unbegrenzt, Vorgabe: 1000000)
imagerCacheMaxFiles maximale Anzahl an Bildern, die im Cache gespeichert werden (Vorgabe: 0 = unbegrenzt)
imagerCacheMaxAge maximale Vorhaltezeit (Tage) für Bilder im Cache (Vorgabe: 0 = unbegrenzt)
imagerCleanupInterval Aufräumintervall für den Bilder-Cache in Sekunden (Vorgabe: 3600)