Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2875 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/GD] Superposition de plusieurs images avec tranparence...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/GD] Superposition de plusieurs images avec tranparence...

n°1441307
ptibat
Posté le 12-09-2006 à 17:58:31  profilanswer
 

Bonjour :)
 
 
Je suis en train de bosser sur un projet dans lequel je dois superposer 3 "plans" qui sont en fait des 3 niveaux différents. Chaque plan comprend des carrés disposés partout sur l'image, et donc chaque plan possède une taille de carré différente.
 
En bricolant un peu de PHP j'ai réussi à créer 1 image pour chaque plan avec de la transparente sur les zones "vide". (ImageAlphaBlending)
Ensuite dans un autre script, j'utilise 2 fois "imagecopymerge" pour superposer les images. Malheureusement ca ne gère plus la transparence...
 
Donc j'ai 2 petites questions,  
 
- Comment réaliser une superposition de 3 images (ou plus..) mais en gérant aussi la transparence (à savoir 50% pour chaque "calque" ) ?
- Est-il possible de créer en PHP un rectangle comme avec "imagefilledrectangle", mais afin que ce rectangle ai un niveau de tranparence dans l'image ...?  
 
 
 
 
 
 
 
Voici le code avec lequel je superpose les 3 images... :
 
 

Code :
  1. $source = imagecreatefrompng("img_niveau_2.png" );
  2. $destination = imagecreatefrompng("img_niveau_1.png" );
  3. $largeur_source = imagesx($source);
  4. $hauteur_source = imagesy($source);
  5. $largeur_destination = imagesx($destination);
  6. $hauteur_destination = imagesy($destination);
  7. $destination_x = $largeur_destination - $largeur_source;
  8. $destination_y =  $hauteur_destination - $hauteur_source;
  9. imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 50);
  10. imagepng($destination,"temp.png" );
  11. // ----------------------------------------------------------------------------------------------------------------
  12. header ("Content-type: image/png" );
  13. $source = imagecreatefrompng("temp.png" );
  14. $destination = imagecreatefrompng("img_niveau_3.png" );
  15. $largeur_source = imagesx($source);
  16. $hauteur_source = imagesy($source);
  17. $largeur_destination = imagesx($destination);
  18. $hauteur_destination = imagesy($destination);
  19. $destination_x = $largeur_destination - $largeur_source;
  20. $destination_y =  $hauteur_destination - $hauteur_source;
  21. imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 50);
  22. imagepng($destination);
  23. // ----------------------------------------------------------------------------------------------------------------
  24. unlink("temp.png" );


 
 
Merci :)


Message édité par ptibat le 13-09-2006 à 09:40:13

---------------
flick r
mood
Publicité
Posté le 12-09-2006 à 17:58:31  profilanswer
 

n°1441662
ptibat
Posté le 13-09-2006 à 11:39:43  profilanswer
 


Personne ?  :sweat:  


---------------
flick r
n°1441714
Sh@rdar
Ex-PhPéteur
Posté le 13-09-2006 à 12:47:23  profilanswer
 

ce que tu peux essayer c'est d'ajouter tes calques dans l'ordre inverse pour qu'au final le dernier calque soit fusionné avec le fond (je sais pas si c'est clair en fait :D)
 
si tu as disons 5 calques de 5 à 1 (avec 1 étant l'image du fond) il faut fusionner 5 et 4, puis 54 et 3 puis 543 et 2 etc (à voir..)
 
et pour le rectangle, tu peux lui assigner couleur et canal alpha, donc ça doit pas poser de problème


Message édité par Sh@rdar le 13-09-2006 à 12:48:26

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1442283
ptibat
Posté le 14-09-2006 à 11:06:58  profilanswer
 


Ca y est j'ai réussi les 2 méthodes :)
 
J'avais pas fait gaffe qu'il y avait une fonction "imagecolorallocatealpha" pour la transparence. :)
 
 
Merci :jap:


---------------
flick r

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/GD] Superposition de plusieurs images avec tranparence...

 

Sujets relatifs
[systeme de paiement PHP] Es ce possible et à quel prix?[Résolu]Se connecter à une interbase distante depuis PHP
[Javascript] Tableau à plusieurs dimensionsEnregistrement des variables de session en PHP
[Résolu][ASP.NET 2.0][C#] Plusieurs load pour une meme pagegestion des accès de plusieurs utilisateurs au même m
Fichiers images internes à une solutionMasquer partie d'une applet : superposition, clip, z-index ?
Créer tableau avec images et descriptifs[PHP... ou autres] trouver les termes liés dans un texte
Plus de sujets relatifs à : [PHP/GD] Superposition de plusieurs images avec tranparence...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR