wThumbnail::createThumbnail
Erstellt ein Vorschaubild auf Basis eines vorhandenen Bildes
Funktionsaufruf
String createThumbnail(String path, Integer width, Integer height, String mode, Array options)
Parameter
- path
- Pfad des Orginalbildes, aus dem das Vorschaubild generiert werden soll
- width
- Breite des zu erstellenden Vorschaubildes
- height
- Höhe des zu erstellenden Vorschaubildes
- mode
- Darstellungsmodus [default|crop|cropTop|cropRight|cropBottom|cropLeft|embed|embedTop|embedRight|embedBottom|embedLeft|embedTopLeft|embedTopRight|embedBottomRight|embedBottomLeft|force]
- default
- Das Bild wird so weit verkleinert, dass beide Seiten in die Vorgabe passen und der ggf. entstehende Leerraum abgeschnitten wird. So kann es sein, dass eine Seite kleiner als angegeben dargestellt wird.
- crop
- Das Bild wird so weit verkleinert, dass eine Seite in die Vorgabe passt und die ggf. überstehenden Seiten abgeschnitten werden.
- cropTop
- Wie crop mit Ausrichtung oben
- cropRight
- Wie crop mit Ausrichtung right
- cropBottom
- Wie crop mit Ausrichtung unten
- cropLeft
- Wie crop mit Ausrichtung links
- embed
- Das Bild wird so weit verkleinert, dass beide Seiten in die Vorgabe passen und der ggf. entstehende Leerraum aufgefüllt wird.
- embedTop
- Wie embed mit Ausrichtung oben
- embedRight
- Wie embed mit Ausrichtung rechts
- embedBottom
- Wie embed mit Ausrichtung unten
- embedLeft
- Wie embed mit Ausrichtung links
- embedTopLeft
- Wie embed mit Ausrichtung oben links
- embedTopRight
- Wie embed mit Ausrichtung oben rechts
- embedBottomRight
- Wie embed mit Ausrichtung unten rechts
- embedBottomLeft
- Wie embed mit Ausrichtung unten links
- force
- Die Größe wird angepasst und das Bild ggf. verzerrt
- options
- Zusatzoptionen
- cutLeft
- Linke Position beim Ausschneiden
- cutTop
- Obere Position beim Ausschneiden
- cutWidth
- Breite beim Ausschneiden
- cutHeight
- Höhe beim Ausschneiden
- cryptPath [|1]
- Gibt an, ob der Bildpfad verkryptet werden soll
- useTransparency [|no]
- Falls keine Transparenz benutzt werden darf, muss der Wert auf no stehen
- backgroundColor
- Falls die Hintergrundfarbe definiert werden soll (z.B. #fcfcfc)
- hd [|1]
- Falls ein HD-Bild generiert werden soll
- quality
- Falls die Qualität bei JPG-Bildern reduziert werden soll (0-100)
- qualityHD
- Falls die Qualität bei der HD-Darstellung von JPG-Bildern abweichend von der Standardqualität reduziert werden soll (0-100)
- colorspace
- Falls das Bild in Graustufen ausgegeben werden soll [|gray]
- srcAlt
- Alternatives Bild, falls das angegebene Bild nicht existiert
- filenameOnly
- Dateiname (ohne Endung) des generierten Bildes
- additionalMinWidth
- Maximale Bildbreite bei minimaler Bildschirmbreite
- useOrig [|true]
- Falls das Originalbild ausgegeben werden soll
- extension
- Abweichende Dateiendung des generierten Bildes
- savePictureData [|true]
- Falls Bilder auch nach der Bereinigung in statischen Seiten verfügbar sein sollen (z.B. beim Newsletter)
- copyrightText
- Copyright Text
Diese Funktion erstellt auf Basis eines vorhandenen Bildes eine kleinere Vorschauversion.
Animierte Bilder (z.B. GIFs) verlieren die Funktionalität beim Generieren eines Vorschaubildes!
Im Bild-Element kann dies umgangen werden, indem dort die Auswahl auf "Originalgröße" gesetzt wird.
Im Bild-Element kann dies umgangen werden, indem dort die Auswahl auf "Originalgröße" gesetzt wird.
Beispiel: Erstellt ein Vorschaubild, das in die definierte Bildgröße eingepasst wird
Quelltext
<?php
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, 120, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, NULL, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', NULL, 120, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
print '<br/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, 120, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, NULL, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', NULL, 120, 'embed');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
?>
Ergebnis






Beispiel: Erstellt ein Vorschaubild, das auf die definierte Größe zugeschnitten wird, nachdem die kürzeste Seite eingepasst wurde
Quelltext
<?php
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, 120, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, NULL, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', NULL, 120, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
print '<br/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, 120, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, NULL, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', NULL, 120, 'crop');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
?>
Ergebnis






Beispiel: Erstellt ein Vorschaubild, das auf die definierte Größe zugeschnitten wird, nachdem die längste Seite eingepasst wurde
Quelltext
<?php
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, 120, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', 120, NULL, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-rot.png', NULL, 120, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
print '<br/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, 120, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', 120, NULL, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/bild-blau-s.png', NULL, 120, 'default');
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
?>
Ergebnis






Beispiel: Erstellt ein Vorschaubild, für das die Qualität des generierten Bildes mitgegeben wird
Quelltext
<?php
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 10));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 40));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 60));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
print '<br />';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 80));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 90));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 120, 120, 'default', array('quality' => 100));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'" />';
?>
Ergebnis






Beispiel: Erstellt ein Vorschaubild, welches mit Dateiendung webp generiert wird
Quelltext
<?php
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 300, null, 'default', array('extension' => 'webp'));
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
?>
Ergebnis

Beispiel: Erstellt ein Vorschaubild, abhängig von einem definierten Bildausschnitt
Quelltext
<?php
/*In diesem Beispiel wird der Wert aus dem XML-String eines Weblication Dokuments ausgelesen.
Das Format der Bildausschnitte wird cutLeft|cutTop|cutWidth|cutHeight definiert.
Beispiel: 996|457|283|212
*/
$options = array();
$thumbnailArea = wDocumentData::getData($document, "/wd:extension/wd:meta/wd:thumbnail/@area");
if($thumbnailArea !== ''){
$options['cut'] = explode('|', $thumbnailArea);
$options['cutLeft'] = $options['cut'][0] ?? 0;
$options['cutTop'] = $options['cut'][1] ?? 0;
$options['cutWidth'] = $options['cut'][2] ?? 240;
$options['cutHeight'] = $options['cut'][3] ?? 150;
}
$pathThumbnail = wThumbnail::createThumbnail('/devAssets/img/CIMG1299.jpg', 300, null, 'default', $options);
print '<img style="margin:8px;background-color:#f0f0f0" src="'.$pathThumbnail.'"/>';
?>
Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.