Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 02-04-2005, 01:43
Freak_Desperado
 Newbie
Links : Onlinestatus : Freak_Desperado ist offline
Registriert seit: Apr 2005
Ort: Minden
Beiträge: 2
Freak_Desperado ist zur Zeit noch ein unbeschriebenes Blatt
Standard Transparenzproblem beim Wasserzeichen

Hallo!

Ich habe ein Script geschrieben, bei dem ein Wasserzeichen auf's Bild gesetzt werden soll.
Das Bild für's Wasserzeichen liegt als PNG-Datei vor. Mein Problem ist jetzt, dass die Stellen,
die im PNG-Bild eigentlich transparent sein sollen, später nicht transparent sind, sondern weiß sind.
Das zweite Problem, dass ich habe, ist dass wenn das schmalere Wasserzeichen-Bild genommen wird,
ein schwarzer Kasten sichtbar ist.

Script:
PHP-Code:
function createWatermark($dir,$name,$ext){
    require 
"settings.ini";
    
$dateiname $dir."__".$name.".".$ext//Hier wird der Dateiname "zusammengesetzt" (etwas umständlich, ich weis...)
    
$pfad $picsrootdir."/";
    
$datei $pfad.$dateiname;
    
$transparenz 100;
    
$size getimagesize($datei);
    
    
$imgwidth $size[0];
    
$imgheight $size[1];
    if(
$imgwidth == 580){
      
$watermark $pfad."watermark_x580.png";
    }else{
      
$watermark $pfad."watermark_y580.png";
    }
    
$size_watermark getimagesize($watermark);
    
$pos_x 0;
    
$pos_y $imgheight $size_watermark[1];
    
$image imagecreatefromjpeg($datei);
    
$image_watermark imagecreatefrompng($watermark);
    
imagealphablending($image,true);
    
imagealphablending($image_watermark,true);
    
//imagecolortransparent($image_watermark,imagecolorat($image_watermark,$size_watermark[0]-5,$size_watermark[1]-5));
    
imagecolortransparent($image_watermark,hexdec("#FFFFFF"));
    
imagecopymerge($image,$image_watermark,$pos_x,$pos_y,0,0,$size_watermark[0],$size_watermark[1],$transparenz);
    
imagejpeg($image,$datei);
  } 
Mit Zitat antworten