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