begin process at 2012 02 11 02:41:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > COMBINER DEUX IMAGES AVEC LA LIBRAIRIE GD (PNG OU JPEG) AVEC TRANSPARENCE DE L'IMAGE PAR DESSUS L'AUTRE

COMBINER DEUX IMAGES AVEC LA LIBRAIRIE GD (PNG OU JPEG) AVEC TRANSPARENCE DE L'IMAGE PAR DESSUS L'AUTRE


 Information sur la source

Note :
3,5 / 10 - par 2 personnes
3,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Initié Date de création :10/09/2004 Vu :7 112

Auteur : Magidev

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette fonction (qui n'est pas de moi) est tres pratique pour fusioner deux images PNG ou JPEG, j'ai juste traduit les commentaires

Source

  • // La ligne de header informe le serveur sur le type de donnée transmises
  • // Dans ce cas, il s'agit d'un fichier PNG
  • // l'image est envoyée telle quelle
  • header ("Content-type: image/png");
  • // Definir l'image de fond. Une image JPEG peut etre utilisee avec la fonction
  • // imagecreatefromjpeg
  • $background = imagecreatefrompng("backgroundimage.png");
  • // Definition de limage overlay qui sera incluse dans l image background
  • $insert = imagecreatefrompng("overlay.png");
  • // Selection du premier pixel de l image overlay (a la position 0,0) et utiliser
  • // la couleur de ce pixel comme couleur transparente
  • imagecolortransparent($insert,imagecolorat($insert,0,0));
  • // Recuperation des dimensions de l'image
  • $insert_x = imagesx($insert);
  • $insert_y = imagesy($insert);
  • // Combiner les images (la fonction imagcopy() peut marcher mais bug souvent)
  • imagecopymerge($background,$insert,0,0,0,0,$insert_x,$insert_y,100);
  • // Envoyer le resultat au navigateur (note : l inclusion dans du HTML n'est pas obligatoire)
  • imagepng($background,"",100);
  // La ligne de header informe le serveur sur le type de donnée transmises
  // Dans ce cas, il s'agit d'un fichier PNG
  // l'image est envoyée telle quelle

  header ("Content-type: image/png"); 


  // Definir l'image de fond. Une image JPEG peut etre utilisee avec la fonction
  // imagecreatefromjpeg

  $background = imagecreatefrompng("backgroundimage.png"); 


  // Definition de limage overlay qui sera incluse dans l image background

  $insert = imagecreatefrompng("overlay.png"); 


  // Selection du premier pixel de l image overlay (a la position 0,0) et utiliser
  // la couleur de ce pixel comme couleur transparente

  imagecolortransparent($insert,imagecolorat($insert,0,0));


  // Recuperation des dimensions de l'image

  $insert_x = imagesx($insert); 
  $insert_y = imagesy($insert); 


  // Combiner les images (la fonction imagcopy() peut marcher mais bug souvent)

  imagecopymerge($background,$insert,0,0,0,0,$insert_x,$insert_y,100); 


  // Envoyer le resultat au navigateur (note : l inclusion dans du HTML n'est pas obligatoire)
  imagepng($background,"",100); 



 Sources du même auteur

NOMBRE DE JOURS ENTRE DEUX DATE EN UNE SEULE LIGNE
TUTORIAL : TOUS LES SECRETS DES SESSIONS ET DES COOKIES EN P...
Source avec Zip Source avec une capture APPLICATION : UN CALENDRIER VERTICAL MULTI-UTILISATEUR AVEC ...
ENVOI DE MAIL AVEC PIECE JOINTE
TUTORIAL : PHP CONSTRUIT LES BASES, LES TABLES ET LES CHAMPS...

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

Commentaires et avis

Commentaire de iubito le 13/09/2004 10:43:08

hop, in ze favoris :-)

Commentaire de Magidev le 13/09/2004 12:16:06

Lol :-)

Commentaire de yakou32 le 13/09/2004 15:29:16

Cool !

Sinon le 100 dans "imagecopymerge" c'est pour le niveau de transparence ? on peut fusionner en conservant la transparence de la permière ?

Commentaire de capoueidiablo le 06/05/2007 19:03:27

Cette fonction permet de fusionner deux images gif ayant toute deux une transparence et conserve cette dernière ...
[code]
  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") );
[/code]

Commentaire de pifou25 le 06/07/2007 18:04:09

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?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales