guude -> also bevor ich das ganz php manual studiere und feststelle das es mal wieder viel verwirrung zu diesem thema gibt frag ich doch mal in meinem lieblingsforum ob da nicht jemand bescheid was. thema gd lib 2+ und tranparente pngs auf jpg mergen und auch als jpg wieder on the fly ausgeben. mit 8-bit pngs komm ich klar aber bei 24-bit such ich verzweifelt die funktion die mir den alphawert bestimme um die tranparenz beizubehalten. hier is mal der code ->
PHP-Code:
if(is_file($bild)):
$org_bild = imagecreatefromjpeg($bild);
$width = imagesx($org_bild);
$height = imagesy($org_bild);
$new_bild = imagecreatetruecolor($width,$height);
imagecopyresampled($new_bild,$org_bild,0,0,0,0,$width,$height,$width,$height);
if(is_file($watermark)):
$wm = imagecreatefrompng($watermark);
$watermark_x = ($width / 2) - (imagesx($wm) / 2);
$watermark_y = ($height / 2) - (imagesy($wm) / 2);
if(imagecolorstotal($wm) < 255):
$trans = imagecolorat($wm,1, 1);
imagecolortransparent($wm,$trans);
imagecopymerge($new_bild,$wm,$watermark_x,$watermark_y,0,0,imagesx($wm),imagesy($wm),25);
else:
//png 24 verabeiten
endif;
else:
trigger_error("is_file($watermark) -> Wasszeichen wurde nicht gefunden",E_USER_ERROR);
endif;
header("Content-Type: image/jpg");
imagejpeg($new_bild,"","66");
imagedestroy($org_bild);
imagedestroy($wm);
else:
//alternativ bild
endif;
Kommentar