COMBINER DEUX IMAGES AVEC LA LIBRAIRIE GD (PNG OU JPEG) AVEC TRANSPARENCE DE L'I

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 13 sept. 2004 à 10:43
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014 - 6 juil. 2007 à 18:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26070-combiner-deux-images-avec-la-librairie-gd-png-ou-jpeg-avec-transparence-de-l-image-par-dessus-l-autre

pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014
6 juil. 2007 à 18:04
super! mais ça veut dire quoi :
# Selection du premier pixel de l image overlay (a la position 0,0) et utiliser
# la couleur de ce pixel comme couleur transparente
suis je obligé de mettre la couleur transparente en 0, 0 pour que ça marche?? y'a pas une méthode générique pour obtenir la couleur de transparence?
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
6 mai 2007 à 19:03
Cette fonction permet de fusionner deux images gif ayant toute deux une transparence et conserve cette dernière ...
  function mergeAlpha ($url, $logo) {
      /* on pourrait par exemple rendre ca un peu plus générique :
      $ext = strtolower(end(explode('.', $image_path)));
      if ($ext == "gif") on appel imagecreatefromgif
      if ($ext == "png") on appel imagecreatefrompng et ainsi de suite
      */
      $url  =  imagecreatefromgif ($url);
      $logo =  imagecreatefromgif ($logo);
  
      $bwidth  = imagesx($url);
      $bheight = imagesy($url);
      $lwidth  = imagesx($logo);
      $lheight = imagesy($logo);
      
      imagealphablending ($url, true);      
      imagecopy ($url, $logo, 0, 0 ,0 ,0 , $lwidth, $lheight);
      
      return $url;
  }
  
  /* how to call me */
  header ("Content-type: image/gif");
  imagegif (mergeAlpha ("1.gif", "un.gif") );
yakou32 Messages postés 32 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 3 avril 2015
13 sept. 2004 à 15:29
Cool !

Sinon le 100 dans "imagecopymerge" c'est pour le niveau de transparence ? on peut fusionner en conservant la transparence de la permière ?
Utilisateur anonyme
13 sept. 2004 à 12:16
Lol :-)
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
13 sept. 2004 à 10:43
hop, in ze favoris :-)
Rejoignez-nous