ptibat | 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 :
- $source = imagecreatefrompng("img_niveau_2.png" );
- $destination = imagecreatefrompng("img_niveau_1.png" );
- $largeur_source = imagesx($source);
- $hauteur_source = imagesy($source);
- $largeur_destination = imagesx($destination);
- $hauteur_destination = imagesy($destination);
- $destination_x = $largeur_destination - $largeur_source;
- $destination_y = $hauteur_destination - $hauteur_source;
- imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 50);
- imagepng($destination,"temp.png" );
- // ----------------------------------------------------------------------------------------------------------------
- header ("Content-type: image/png" );
- $source = imagecreatefrompng("temp.png" );
- $destination = imagecreatefrompng("img_niveau_3.png" );
- $largeur_source = imagesx($source);
- $hauteur_source = imagesy($source);
- $largeur_destination = imagesx($destination);
- $hauteur_destination = imagesy($destination);
- $destination_x = $largeur_destination - $largeur_source;
- $destination_y = $hauteur_destination - $hauteur_source;
- imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 50);
- imagepng($destination);
- // ----------------------------------------------------------------------------------------------------------------
- unlink("temp.png" );
|
Merci
Message édité par ptibat le 13-09-2006 à 09:40:13 ---------------
flick r
|