Combiner deux images avec la librairie gd (png ou jpeg) avec transparence de l'image par dessus l'autre

Contenu du snippet

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 / Exemple :


// 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);

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.