Superposition de deux images - PHP - Programmation
Marsh Posté le 07-11-2002 à 10:25:49
il me semble que j'avais vu un tuto pour rendre une image semi transparente... si je retrouve l'adresse, je la mettrais ici
Marsh Posté le 07-11-2002 à 14:24:25
ImageCopyMerge
(PHP 4 >= 4.0.1)
ImageCopyMerge -- Copie et fusionne une partie d'une image
Description
int imagecopymerge ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct)
imagecopymerge() copie une partie de l'image src_im dans l'image de destination dst_im en commençant aux coordonnées (src_x, src_y), avec la largeur src_w et la hauteur src_h. La zone de l'image ainsi définie sera copiée aux coordonnées (dst_x, dst_y), dans l'image de destination. Les deux images seront fusionnées suivant le paramètre pct, qui peut valoir de 0 à 100. Si pct = 0, aucune action n'est faite, alors que si pct = 100, imagecopymerge() se comporte exactement comme imagecopy().
Note : imagecopymerge() a été ajoutée en PHP 4.0.6.
Marsh Posté le 07-11-2002 à 14:34:50
Salut,
J'ai quelque part dans mes cartons un projet de site de jeu de plateau online. Je voulais donc que superposer l'image du pion a celle de la case.
De mémoire imagecopymerge() ne donnais pas le résultat cherché car elle mélange les couleurs de chaque image et ne le superpose pas.
Je faisait donc une méthode un peu bourrin: pour chacun des pixels de images1 ( au dessus ) je comparais avec la valeur de la couleur transparente. En cas de test positif le pixel de l'image final prenait la couleur du pixel de l'image1 sinon de images2.
Je n'est pas le code avec moi, je le poste aussi demain.
Mirgolth
Marsh Posté le 07-11-2002 à 15:10:05
Heu, tu n'as pas du utiliser la commande décrite ci-dessus correctement, car moi je n'ai aucun problème avec...
Marsh Posté le 07-11-2002 à 15:16:14
Hermes le Messager a écrit a écrit : Heu, tu n'as pas du utiliser la commande décrite ci-dessus correctement, car moi je n'ai aucun problème avec... |
Ce qu'il veut dire c'est qu'il a été géné par l'abscence de couleur transparente dans les images des pièces ou que la couleur transparente n'est pas géré par imagecopymerge().
Du coup, soit il affichait pas sa pièce, soit une pièce sur une case blanche n'avait pas la même couleur que la même pièce sur une case noire.
Marsh Posté le 07-11-2002 à 15:28:22
C'est ça Omega2 !
si tu as un carré rouge et un bleu imagecopymerge () va te sortir un carré violet, plus ou moins selon la valeur de pct.
Mirgolth
Marsh Posté le 07-11-2002 à 15:30:34
Oki !
Mais ce problème n'est-il pas résolu avec des images en png ?
Marsh Posté le 07-11-2002 à 15:39:59
Hermes le Messager a écrit a écrit : Oki ! Mais ce problème n'est-il pas résolu avec des images en png ? |
Je bossais sur des png.
Mais ce n'est pas un problème, c'est une fonctionalité
C'est le but de cette fonction: mélanger/fusionner 2 images mais je suis sur qu'il existe mieux que ma technique porcine.
Mirgolth
Marsh Posté le 08-11-2002 à 11:23:21
mirgolth a écrit a écrit : Je n'est pas le code avec moi, je le poste aussi demain. |
J'ai un peu la tête creuse et j'ai oublié
Mais je trouverais bien le temps pendant ce long WE...
Mirgolth
Marsh Posté le 12-11-2002 à 09:52:41
Voilà le code que j'avais fais.
C'est lent, très lent !
Si quelqu'un à déjà utilisé imagecolortransparent () correctement pouvais me renseigner d'ailleurs...
Code :
|
Marsh Posté le 06-11-2002 à 23:24:43
Salut,
J'ai vu dans un recent tuto de phpdebutant.com qu'il etait possible de faire pas mal de manipulations sur une image: http://www.phpdebutant.org/article111.php
J'aurais voulu savoir si il etait possible grace a une fonction de ce genre de fusionner 2 images pour en obtenir une seule ?
Par exemple un calque transparent avec le logo de mon site, qui viendrait se superposer à toute les images mise sur le site. Tout ceci automatiquement grace a une fonction.
Merci d'avance.
Message édité par Vadrigar le 06-11-2002 à 23:26:46