Typo3 Bednarik.org

image resize s GD2

image resize s GD2

Pokud nemáte na serveru nainstalován ImageMagick stává se automatický resize obrázků problémem. Typo3 automaticky IM předpokládá a knihovnu GD defakto odsouvá do pozadí.

Jelikož Typo3 je open-source, není problém cokoliv změnit a upravit si dle vlastních potřeb. Modifikoval jsem tedy třídu t3lib_stdgraphic tak, aby resizovala obrázky i když není IM k dispozici. Stačí stáhnout si zde PHP soubor a přepsat originální v adresáři t3lib.

Fragment původní třídy

function imageMagickConvert($imagefile,$newExt='',$w='',$h='',$params='',$frame='',$options='',$mustCreate=0) { if ($this->NO_IMAGE_MAGICK) { // Returning file info right away return $this->getImageDimensions($imagefile); } ...

Upravený fragment

function imageMagickConvert($imagefile,$newExt='',$w='',$h='',$params='',$frame='',$options='',$mustCreate=0) { if ($this->NO_IMAGE_MAGICK) { // Returning file info right away if ($info = $this->getImageDimensions($imagefile)) { $data = $this->getImageScale($info,$w,$h,$options); $w=$data['0']; $h=$data['1']; $ext = $info[2]; $path = $info[3]; if (($ext=='jpg')||($ext=='png')) { $newIm = ImageCreateTrueColor($w,$h); if ($ext == 'jpg') { $im = ImageCreateFromJPEG($path); } else { $im = ImageCreateFromPNG($path); } imagecopyresampled($newIm,$im,0,0,0,0,$w,$h,$info[0],$info[1]); $this->createTempSubDir('pics/'); $output = $this->absPrefix.$this->tempPath.'pics/'.uniqid('im').'.'.$ext; if ($ext == 'jpg') { imagejpeg($newIm,$output); } else { imagepng($newIm,$output); } $imagefile = $output; } } return $this->getImageDimensions($imagefile); } ...

 

Typo3 konzultace

Poradenství o Typo3.

Call now

1,50€ za minutu

 
XLINE hosting + Typo3 = ideální kombinace