Sibbl: Einfügen von Wasserzeichen klappt nicht wie es soll...

Beitrag lesen

Edit:
Also das hab noch mal etwas drann gearbeitet und hab es auch jetzt geschaft das Wasserzeichen auf das kleine Bild zu legen, leider komm ich nciht draufwie ich die Prozentuale Größe für das Wasserzeichen errechne. Da bräuchte ich noch etwas Hilfe, so das das kleine Bild aussieht wie das große.

Code:

  
<?PHP  
  $strImage = $_SERVER['DOCUMENT_ROOT'].'/bildergalerie/'.$_GET['folder']."/".$_GET['image'];  
  if( !file_exists( $strImage ) ) die("Das angegebene Bild existiert nicht!");  
  
  $strWatermark =  $_SERVER['DOCUMENT_ROOT'].'/wasserzeichen.png';  
  if( !file_exists( $strWatermark ) ) die("Das angegebene Wasserzeichen existiert nicht!");  
  
  list ( $Image_Width, $Image_Height, $Image_Type ) = getimagesize ( $strImage );  
  list ( $Watermark_Width, $Watermark_Height, $Watermark_Type ) = getimagesize ( $strWatermark );  
  
  $Watermark = imagecreatefrompng ( $strWatermark ) or die("Fehler bei imagecreatefromgif (Wasserzeichen)");  
  
  
  if(($Watermark_Width > $Image_Width) or ($Watermark_Height > $Image_Height)){  
	$width  = $Image_Width /2;  
	$height = $Image_Height/4;  
	  
    $Watermark_new = imagecreatetruecolor($width, $height)  
	  or die("Fehler bei imagecreatetruecolor Wasserzeichen");	  
	  
    $img_colordepth = imagecolorstotal($Watermark);  
  
    if ($img_colordepth == 0 || $img_colordepth > 255)  
      $Img_new = imagecreatetruecolor($width, $height) or die("Fehler bei imagecreatetruecolor Wasserzeichen");  
    else  
     $Img_new = imagecreate($width, $height) or die("Fehler bei imagecreate Wasserzeichen");  
  
    imagealphablending($Watermark_new, false);  
    imagecopyresampled($Watermark_new, $Watermark, 0, 0, 0, 0, $width, $height, $Watermark_Width, $Watermark_Height);  
    imagesavealpha($Watermark_new, true);  
	  
	$Watermark = $Watermark_new;  
	  
	$Watermark_Width = $Image_Width /2;  
	$Watermark_Height = $Image_Height/4;  
  }  
  
  switch ( $Image_Type ){  
    case 1:  
      $Img = imagecreatefromgif ( $strImage )  or die("Fehler bei imagecreatefromgif");  
      break;  
    case 2:  
      $Img = imagecreatefromjpeg ( $strImage ) or die("Fehler bei imagecreatefromjpeg");  
      break;  
    case 3:  
      $Img = imagecreatefrompng ( $strImage )  or die("Fehler bei imagecreatefrompng");  
          break;  
        default;  
          die("Es gibt ein Problem bei switch von ImageCreate!");  
  }  
  
  $Img_new = imagecreatetruecolor($Image_Width, $Image_Height);  
  
  //Bild  
  imagecopy  ($Img_new, $Img, 0, 0, 0, 0, $Image_Width, $Image_Height)  
    or die("Fehler bei imagecopymerge Bild");  
  
  //Position  
  $Watermark_pos_x = $Image_Width - $Watermark_Width;  
  $Watermark_pos_y = $Image_Height - $Watermark_Height;  
  
  //Wasserzeichen  
  imagecopy  ($Img_new, $Watermark, $Watermark_pos_x, $Watermark_pos_y, 0, 0, $Watermark_Width, $Watermark_Height)  
    or die("Fehler bei imagecopymerge Wasserzeichen");  
  
  switch (  $Image_Type ){  
    case 1:  
      header ( 'content-type: image/gif' );  
      imagegif ( $Img_new );  
      break;  
    case 2:  
      header ( 'content-type: image/jpeg' );  
      imagejpeg ( $Img_new );  
      break;  
    case 3:  
    default:  
      header ( 'content-type: image/png' );  
      imagepng ( $Img_new );  
  }  
  
  imagedestroy ( $Img );  
  imagedestroy ( $Watermark );  
  imagedestroy ( $Img_new );  
  if(($Watermark_Width > $Image_Width) or ($Watermark_Height > $Image_Height))  
    imagedestroy($Watermark_new);  
  
?>  

Bild klein:

Bild groß:

Mfg