Größe von Bildern in einer Typo3 Extension ändern
Um in einer Typo3-Extension die Größe einer Grafik zu verändern (resize) kann man sich des Typo3-Framworks und ImageMagick zu nutze machen. Dazu erstellt man ein Konfigurationsarray, das die selben Möglichkeiten wie aus TypoScript bekannt, bietet und erstellt dann ein Typo3-Objekt vom Typ "IMG_RESOURCE". Als Rückgabe erhält man den Pfad auf das neu generierte Bild.
$imgsrc = 'uploads/pics/'.$image;
$img = array();
$img['file'] = $imgsrc;
$img['file.']['maxW'] = $this->conf['maxWidth'];
$img['file.']['maxH'] = $this->conf['maxHeight'];
$imagepath = $this->cObj->IMG_RESOURCE($img);
Der folgende Code verändert nicht nur die Größe des Bildes, sondern passt dieses auch an eine vorgegebene Größe an (crop).
$imgsrc = 'uploads/pics/'.$image;
$img = array();
$img['file'] = 'GIFBUILDER';
$img['file.']['XY'] = $this->conf['imgWidth'] . ',' . $this->conf['imgHeight'];
$img['file.']['10'] = 'IMAGE';
$img['file.']['10.']['file'] = $imgsrc;
$img['file.']['10.']['file.']['width'] = $this->conf['imgWidth'] . 'c';
$img['file.']['10.']['file.']['height'] = $this->conf['imgHeight'] . 'c';
$imagepath = $this->cObj->IMG_RESOURCE($img);