Besoin d'aide : Image trop transparente
Posté : 26 mai 2014, 10:48
Bonjour à tous.
J'ai actuellement réussi à superposer des images mais le problème est que plus j'en superpose, plus les couleurs sont transparentes.
Pour ceux qui n'auraient pas lus les sujets précédents: J'essaie de créer une image complète à base d'images partielles (Exemple : un avatar avec des yeux verts et un avatar avec une cravate rouge donneraient un avatar avec des yeux verts et une cravate rouge).
Un exemple avec 4 images superposées : des yeux, un col, une cravate et un t-shirt :
Rien que les yeux ou la cravate, on se dit que si on en rajoute une ou deux couches, ils ne se verrons plus
Alors que les images de bases ont des couleurs assez foncées comme la cravate :
On m'a conseillé d'utiliser du svg sauf que je ne connait absolument pas ce langage
Voici mon code :

J'ai actuellement réussi à superposer des images mais le problème est que plus j'en superpose, plus les couleurs sont transparentes.
Pour ceux qui n'auraient pas lus les sujets précédents: J'essaie de créer une image complète à base d'images partielles (Exemple : un avatar avec des yeux verts et un avatar avec une cravate rouge donneraient un avatar avec des yeux verts et une cravate rouge).
Un exemple avec 4 images superposées : des yeux, un col, une cravate et un t-shirt :
Rien que les yeux ou la cravate, on se dit que si on en rajoute une ou deux couches, ils ne se verrons plus
Alors que les images de bases ont des couleurs assez foncées comme la cravate :
On m'a conseillé d'utiliser du svg sauf que je ne connait absolument pas ce langage
Voici mon code :
//1. On classe les images dans des tableaux
$yeux = array("yeux1.png","yeux2.png","yeux3.png");
$cravate = array("cravate1.png","cravate2.png","cravate3.png");
$col = array("col1.png","col2.png","col3.png");
$tshirt = array("tshirt1.png","tshirt2.png","tshirt3.png");
//2. On choisit une image aléatoire pour chaque tableau
$yeuxaleat = $yeux[array_rand($yeux)];
$cravatealeat = $cravate[array_rand($cravate)];
$colaleat = $col[array_rand($col)];
$tshirtaleat = $tshirt[array_rand($tshirt)];
//3. On fusionne les images
header("Content-type: image/png");
$source = imagecreatefrompng("../img/".$yeuxaleat."");
$source2 = imagecreatefrompng("../img/".$colaleat."");
$source3 = imagecreatefrompng("../img/".$tshirtaleat."");
$destination = imagecreatefrompng("../img/".$cravatealeat."");
imagecopymerge($destination, $source, 0, 0, 0, 0, 3501, 3491,50);
imagecopymerge($destination, $source2, 0, 0, 0, 0, 3501, 3491,50);
imagecopymerge($destination, $source3, 0, 0, 0, 0, 3501, 3491,50);
imagepng($destination);
Et j'ai un autre php qui affiche l'image : echo '<img src="image.php'" />';
Help me please