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:
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);
}
Kommentar