Ajout d'un watermark transparent sur gif/jpeg

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par 7804j, 5 Novembre 2012.

  1. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    Bonjour,

    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 :D
     
  2. nervusdm
    nervusdm WRInaute impliqué
    Inscrit:
    5 Janvier 2008
    Messages:
    616
    J'aime reçus:
    0
    Il est un peu tard, mais dans mes souvenirs, il faut d'abord créer cette image en png, mettre le watermark et ensuite la passer en jpeg.
     
  3. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
  4. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 414
    J'aime reçus:
    0
    je verrais plutôt un imagecopymerge
     
  5. GUITEL
    GUITEL WRInaute impliqué
    Inscrit:
    8 Juin 2007
    Messages:
    844
    J'aime reçus:
    0
    As tu mis une transparence alpha sur ton logo.png ?
     
  6. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    Bah je sais pas, la doc officielle php fait avec imagecopy et parvient à conserver la transparence :S

    Oui, le logo.png a bien une transparence alpha et fonctionne très bien s'il est ouvert seul.
     
  7. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Moi je ferais plutôt ça avec Imagemagick
     
Chargement...
Similar Threads - Ajout watermark transparent Forum Date
Ajout d'un bandeau latéral... bien ou non ? Demandes d'avis et de conseils sur vos sites 11 Juillet 2020
Suffixe "Ajouté par" dans les résultats Google Référencement Google 12 Mai 2020
Ajout balise canonical et chute de positions Référencement Google 6 Mai 2020
Ajouter des lignes de rich snippet - KK Star Référencement Google 31 Mars 2020
WordPress Ajout d'un répertoire : maj du maillage interne ? Développement d'un site Web ou d'une appli mobile 9 Mars 2020
WordPress Comment ajouter le CDN Cloudflare sur son site WP ? Administration d'un site Web 6 Février 2020
Ajouter une Opacité CSS sur une image en Background Développement d'un site Web ou d'une appli mobile 4 Février 2020
Ajout de la marque dans le title Débuter en référencement 23 Janvier 2020
Ajouter un texte sur une carte Google Maps (JS) Développement d'un site Web ou d'une appli mobile 15 Janvier 2020
Ajouter style="display: block;" dans une div Développement d'un site Web ou d'une appli mobile 8 Janvier 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice