Image Processing

TYPO3 ist dafür bekannt, dass es Bilder auf dem Server weiter verarbeitet. In der BackEnd Übersicht werden Thumbnails automatisch durch ImageMagick in der thumbs.php generiert, genauso wie Icons, Menüitems und Karteireiter (durch GDLib).

Im durch das TypoScript hervorgerufene Frontend werden alle Arten von grafischen Elementen verarbeitet. Normalerweise werden Bilder durch ImageMagick herunter skaliert, um diese an die Seite anzupassen. Menüpunkte, grafische Köpfe usw. werden automatisch durch GDLib und ImageMagick erzeugt.

Außerdem ist es TYPO3 möglich, mit vielen Dateiformaten z.B. TIF, BMP, PCX, TGA, AI und PDF zusätzlich zu den Standard-Webformaten JPG, GIF und PNG zu arbeiten. Um dies alles auszuführen, benutzt TYPO3 zwei Werkzeuge.

ImageMagick

Dieses Werkzeug wird benutzt, um "nicht-web" Formate in "Webformate" umzuwandeln, Bilder mit einer Alpha-Maske zu kombinieren oder Bildeffekte wie schärfen oder verwischen einzustellen. Dabei handelt es sich bei ImageMagick um eine Ansammlung verschiedener externer Programme auf dem Server, die durch die exec() Funktion in PHP aufgerufen werden können. TYPO3 benutzt drei von diesen.

Konvertieren: Konvertiert Dateiformate, Skalierung und Effekte
Kombinieren: Kombiniert die Bilder mit Masken
Identifizieren: Gibt Bildinformationen aus

Da ImageMagick ein externes Programm ist, müssen zwei Vorraussetzungen erüllt sein. Zum einen muss das Programm auf Ihrem Server installiert und lauffähig sein. Zum anderen müssen, wenn safe_mode aktiviert ist, die Programme in dem Ordner liegen, der durch die php.ini Einstellung safe_mode_exec_dir vorgegeben ist, ansonsten werden diese nicht ausgeführt.

ImageMagick ist sowohl für Windows als auch für UNIX Systeme verfügbar. Die aktuellste Version ist 6+. Nähere Informationen finden Sie auf der Homepage von ImageMagick: http://www.imagemagick.org

GDLib

Diese Funktion wird benutzt um Boxen zu zeichnen und den Bildtext mit Truetype Fonts zu rendern. Dies wird auch für Symbole, Menübilder und selbstverständlich für das TypoScript Objekt GIFBUILDER verwendet. Dieses Objekt basiert auf GDlib, verwendet aber auch ImageMagick um Zwischenresultate zu verarbeiten.

Der Zugriff auf GDLib erfolgt über interne Funktionen von PHP, um Probleme durch einen aktivierten safe_mode zu vermeiden. Dafür brauchen Sie allerdings eine PHP-Version, die mit GDLib-Unterstützung kompiliert wurde. Um TrueType-Fonts mit GDLib verwenden zu können, muss zusätzlich FreeType-Unterstützung vorhanden sein.

Sie können GDLib in der PNG-Version unter http://www.boutell.com/gd/herunterladen.
FreeType steht unter http://www.freetype.org/zur Verfügung.
Eine generelle Auflistung der Packete finden Sie unter http://typo3.org/download/packages/

Sie können alle Bildverarbeitunsgptionen in TYPO3 unter [GFX][image_processing]=0 abschalten, aber damit wird TYPO3 nicht mehr richtig funktionieren.

Überprüfen der Bildverarbeitung auf Ihrem Server

Auf der Image Processing Seite des TYPO3 Install-Tools können Sie die Verarbeitung und Darstellung der generierten Bilder überprüfen. Es handelt sich um eine vollständige Überprüfung, um sicher zu stellen, dass alle Ihre Konfigurationen richtig funktionieren. Um Ihre ImageMagick/GDLib Konfigurationen und Installationen zu prüfen, sehen Sie am Ende der Image Processing Seite Links, die Ihnen paarweise Bilder öffnen. Wenn diese nicht überein stimmen, dann ist etwas in Ihrer Konfiguration falsch eingestellt. Dies wird Ihnen durch Fehler- und Warnmeldungen angezeigt.

Bei den dargestellten Bildern handelt es sich rechts um das Bezugsbild, wie es aussehen muss. Das linke wurde dynamisch durch Ihren Server erstellt. Dieser Test kann jedoch nur funktionieren, wenn Ihre ImageMagick/GDLib Konfigurationen dies zulässt. Der typo3temp/ Ordner muss dafür für alle temporären Bilddateien beschreibbar sein. Den erstellten Dateien wird ein "install_" vorangestellt, sodass Sie diese leicht erkennen und später löschen können.

Beispiel für eine aktuelle Konfiguration

Current Configuration:
Die Einstellungen und Pfade bezüglich der dynamischen Grafikerstellung.

Testmenü

Sie sehen am Seitenende fünf Links, die Sie der Reihe nach anklicken können. Bei jedem müssen Sie einige Sekunden warten, da die Bilder dynamisch generiert werden müssen. Danach sehen sie, welche Bildformate dargestellt werden können und bei welchen es zu Fehlern kam.

Testmenu:
Fünf Tests, um die Bilddarstellung zu überprüfen.

1. Reading and converting images

Dieser Test stellt sicher, dass Ihre ImageMagick Installation die neun Standard-Dateiformate JPG, GIF, PNG, TIF, BMP, PCX, TGA, PDF, AI lesen kann. Das Tool 'identify' wird verwendet, um die Pixelabmessungen von Nicht-Web-Formaten zu lesen. Das Tool 'convert' wird verwendet, um das Bild zu lesen und eine temporäre JPG-Datei daraus zu erzeugen.

Bild auslesen:
Erfolgreicher Aufruf einer JPG-Datei.

2. Writing GIF and PNG

Dieser Test stellt sicher, dass ImageMagick GIF und PNG Dateien schreiben kann. Die Funktion t3lib_div::gif_compress() versucht, GIF-Dateien mit LZW zu komprimieren.

Bilder schreiben:
Erfolgreiches Erstellen einer GIF-Datei.

3. Scaling images

Hier können Sie sehen, wie ImageMagick sich beim Skalieren von transparenten GIF- und PNG-Dateien verhält.

Bilder skalieren:
Erfolgreiche Verkleinerung eines GIFs auf 150 Pixel Breite.

4. Combining images

Dieser Test stellt sicher, dass das ImageMagick Tool 'combine'/'composite' zwei Bilder mit Hilfe einer Greyscale-Maske zusammenfügen kann. Wenn die Maskierung funktioniert, aber die zu maskierenden Stellen vertauscht dargestellt werden, müssen Sie sicher stellen, dass Sie die Invertieren-Funktion aktiviert haben ( eine Kombination aus im_negate_mask und im_imvMaskState).

Bilder zusammenfügen:
Darstellungen eines GIFs mit einer Schwarz/Weiß-Maske.

5. Testing GDLib

Hier können Sie durch mehrere einfache Testbilder sehen, ob die Installation von GDLib richtig funktioniert.

Nice Text:
Text wird bei korrekter Einstellung weicher gerendert oder sogar mit Schatten hinterlegt.