Hallo zusammen,
Ich habe mir aus der image upload und thumbnail Klasse von erozion (http://www.php-resource.de/forum/sho...threadid=15033) eine Thumbnail Funktion erstellt, die auch soweit funktioniert. Was allerdings nicht laufen will, ist das Kopieren eines Wasserzeichens in die Bilder.
Folgendermaßen sieht meine Funktion aus:
Das Wasserzeichen, also die Datei, existiert 100%, das hab ich mehrmals ausprobiert, ein Fehler erscheint trotz error_reporting(E_ALL) nicht, er erstellt einfach das Thumbnail ohne Wasserzeichen.
Wäre schön wenn ihr mir helfen könntet.
Grüße, Oli
Ich habe mir aus der image upload und thumbnail Klasse von erozion (http://www.php-resource.de/forum/sho...threadid=15033) eine Thumbnail Funktion erstellt, die auch soweit funktioniert. Was allerdings nicht laufen will, ist das Kopieren eines Wasserzeichens in die Bilder.
Folgendermaßen sieht meine Funktion aus:
PHP-Code:
function create_thumbnail($image, $width, $save_dest, $quality="75", $prefix = 0, $copywatermark = 1) {
$extension = explode(".",$image);
$file_pfad = explode('/',$image);
$file_pfad = array_reverse($file_pfad);
if($extension[1] == 'jpg') $newimage = @imagecreatefromjpeg($image);
elseif($extension[1] == 'png') $newimage = @imagecreatefrompng($image);
elseif($extension[1] == 'gif') $newimage = @imagecreatefromgif($image);
$imagewidth = imagesx($newimage);
$imageheight = imagesy($newimage);
$thumbnailwidth = $width;
$thumbnailheight = intval( $imageheight * $thumbnailwidth / $imagewidth);
if(function_exists("imagecreatetruecolor")) $thumbnail = imagecreatetruecolor($thumbnailwidth, $thumbnailheight);
else $thumbnail = imagecreate($thumbnailwidth, $thumbnailheight);
/*
if($imagewidth > $imageheight) {
$thumbnailwidth = $width;
$thumbnailheight = round(($width / $imagewidth) * $imageheight);
if($thumbnailheight < $height) {
$thumbnailwidth = round(($height / $thumbnailheight) * $thumbnailwidth);
$thumbnailheight = $height;
}
} else {
$thumbnailwidth = round(($height / $imageheight) * $imagewidth);
$thumbnailheight = $height;
if($thumbnailwidth < $width) {
$thumbnailheight = round(($width / $thumbnailwidth) * $thumbnailheight);
$thumbnailwidth = $width;
}
}*/
if(function_exists("imagecopyresampled"))
imagecopyresampled($thumbnail, $newimage, 0, 0, 0, 0, $thumbnailwidth, $thumbnailheight, $imagewidth, $imageheight);
else
imagecopyresized($thumbnail, $newimage, 0, 0, 0, 0, $thumbnailwidth, $thumbnailheight, $imagewidth, $imageheight);
if($prefix == 1) $pref = 'thumbnail-';
else $pref = '';
$thumbnailsavepath = $save_dest."/".$pref.$file_pfad[0];
// Wasserzeichen
$watermark = imagecreatefrompng(ROOT_DIR . 'equipment/watermark.png');
$watermarkwidth = imagesx($watermark);
$watermarkheight = imagesy($watermark);
$transparent = imagecolorat($watermark, 1, 1);
imagecolortransparent($watermark, $transparent);
imagecopymerge($newimage, $watermark, $imagewidth - $watermarkwidth - 10, $imageheight - $watermarkheight - 10, 0, 0, $watermarkwidth, $watermarkheight, 0);
imagedestroy($watermark);
if($extension[1] == 'jpg') $check = @imagejpeg($thumbnail, $thumbnailsavepath, $quality);
elseif($extension[1] == 'png') $check = @imagepng($thumbnail, $thumbnailsavepath, $quality);
elseif($extension[1] == 'gif') $check = @imagegif($thumbnail, $thumbnailsavepath, $quality);
imagedestroy($thumbnail);
if(!$check) {
imagedestroy($newimage);
return FALSE;
} else {
return true;
}
}
Wäre schön wenn ihr mir helfen könntet.
Grüße, Oli
Kommentar