function createThumb($imgfile,$org_type,$org_width,$org_height,$thumb_width,$thumb_height) {
switch ($org_type) {
case 1 :
$im = imagecreatefromGIF($this->path_org.$imgfile);
break;
case 2 :
$im = imagecreatefromJPEG($this->path_org.$imgfile);
break;
case 3 :
$im = imagecreatefromPNG($this->path_org.$imgfile);
break;
}
if ($im) {
if ($thumb = imagecreatetruecolor($thumb_width, $thumb_height))
{
imagecopyresampled($thumb, $im, 0, 0, 0, 0, $thumb_width, $thumb_height,$org_width,$org_height);
switch ($this->thumb_type) {
case 1 :
$saved = imageGIF($thumb,$this->path_thumb.$imgfile);
break;
case 2 :
$saved = imageJPEG($thumb,$this->path_thumb.$imgfile,100);
break;
case 3 :
$saved = imagePNG($thumb,$this->path_thumb.$imgfile);
break;
default :
$this->setError(1,'Thumbnailformat wird nicht unterstützt.');
imagedestroy($im);
return false;
}
imagedestroy($im);
imagedestroy($thumb);
if (!($saved)) {
$this->setError(1,'Thumbnail konnte nicht gespeichert werden.');
return false;
} else {
return true;
}
} else {
$this->setError(1,'Thumbnail kann nicht erzeugt werden.');
imagedestroy($im);
return false;
}
} else {
$this->setError(1,'Bild kann nicht gelesen werden.');
return false;
}
}
function getThumb($filename) {
$imgfile = basename($filename);
if (file_exists($this->path_org.$imgfile) &&
(strlen($imgfile) > 0)) {
if (file_exists($this->path_thumb.$imgfile)) {
$this->setError(0,'Thumbnail existiert bereits.');
if (!$this->createall) {
//Bestehenden Thumbnail wird verwendet
return true;
}
}
list($org_width, $org_height, $org_type) = getimagesize($this->path_org.$imgfile);
switch ($org_type) {
case 1 :
if (!($this->imgtypes & IMG_GIF)) {
$this->setError(1,'Bildformat GIF wird nicht unterstützt.');
return false;
}
break;
case 2 :
if (!($this->imgtypes & IMG_JPG)) {
$this->setError(1,'Bildformat JPEG wird nicht unterstützt.');
return false;
}
break;
case 3 :
if (!($this->imgtypes & IMG_PNG)) {
$this->setError(1,'Bildformat PNG wird nicht unterstützt.');
return false;
}
break;
default :
$this->setError(1,'Dieses Bildformat wird nicht unterstützt.');
return false;
}
list($thumb_width,$thumb_height) = $this->calcSize($org_width, $org_height);
if ($this->createThumb($imgfile,$org_type,$org_width,$org_height,$thumb_width,$thumb_height)) {
return true;
}
} else {
$this->setError(1,'Datei nicht gefunden.');
return false;
}
}