Bonjour,
J'ai créé un petit script pour ajouter un watermark transparent contenant mon logo sur chacune de mes images :
Pour les images png, le script fonctionne parfaitement. Pour les images gif ou jpeg, en revanche, la transparence du watermark n'est pas gérée et ça affiche un gros carré noir à l'emplacement du watermark :S
Je sais que gif et jpeg ne gèrent pas la transparence, mais je ne veux justement pas de transparence sur l'image finale, mais simplement coller un watermark transparent sur un gif ou jpeg ordinaire.
Comment faire ?
Merci d'avance
J'ai créé un petit script pour ajouter un watermark transparent contenant mon logo sur chacune de mes images :
Code:
$fileType = exif_imagetype($_GET['file']);
$wm = imagecreatefrompng('logo.png');
if($fileType == IMAGETYPE_GIF) {$wm_img = imagecreatefromgif($_GET['file']);}
else if ($fileType == IMAGETYPE_PNG) {$wm_img = imagecreatefrompng($_GET['file']);}
else {$wm_img = imagecreatefromjpeg($_GET['file']);}
imagesavealpha($wm_img, true );
imagesavealpha($wm, true );
$marge_right = 10;
$marge_bottom = 10;
$wm_w = imagesx($wm);
$wm_h = imagesy($wm);
imagecopy($wm_img, $wm, imagesx($wm_img) - $wm_w - $marge_right, imagesy($wm_img) - $wm_h - $marge_bottom, 0, 0, $wm_w, $wm_h);
header("Cache-Control: max-age=15552000, must-revalidate");
if($fileType == IMAGETYPE_GIF)
{
header("Content-type: image/gif");
imagegif($wm_img);
}
else if($fileType == IMAGETYPE_PNG)
{
header("Content-type: image/png");
imagepng($wm_img);
}
else
{
header("Content-type: image/jpeg");
imagejpeg($wm_img);
}
imagedestroy($wm_img);
Pour les images png, le script fonctionne parfaitement. Pour les images gif ou jpeg, en revanche, la transparence du watermark n'est pas gérée et ça affiche un gros carré noir à l'emplacement du watermark :S
Je sais que gif et jpeg ne gèrent pas la transparence, mais je ne veux justement pas de transparence sur l'image finale, mais simplement coller un watermark transparent sur un gif ou jpeg ordinaire.
Comment faire ?
Merci d'avance