Bonjour à tous,
J'utilise la librairie GD pour faire de " l'assemblage photo " sous PHP. Je souahite donc créer un fond transparent de taille $width et de hauteur $height. Je souhaite ensuite coller un png possédant de la transparence (ombres).
Le fond transparent pas de problème ; j'ai tester en lui ajouter un rectangle rouge tout est bon. Quand je suis passé à l'étape collage d'un png ; cela s'est compliqué. Je perds la transparence et il passe mon fond en blanc et la transparence du png en noir.
Voici mon code :
Est ce que quelqu'un à déjà tenter la fusion de fond transparent et d'images composées de transparence ? Comment ? Ou est ce que je me plante ?
Merci à tous !
Modifié par mini-truc (03 Oct 2013 - 13:20)
J'utilise la librairie GD pour faire de " l'assemblage photo " sous PHP. Je souahite donc créer un fond transparent de taille $width et de hauteur $height. Je souhaite ensuite coller un png possédant de la transparence (ombres).
Le fond transparent pas de problème ; j'ai tester en lui ajouter un rectangle rouge tout est bon. Quand je suis passé à l'étape collage d'un png ; cela s'est compliqué. Je perds la transparence et il passe mon fond en blanc et la transparence du png en noir.
Voici mon code :
$width = 372;
$height = 702;
//création du gabarit
$image = imagecreatetruecolor($width, $height);
//transparence
$black = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $black);
//activation de l'alphablending
imagealphablending($image, true);
//création du fond
$fond = imagecreatefrompng('../assets/uploads/fonds/'.$format->imageFond);
//fusion
imagecopymerge($image, $fond, 0, 0, 0, 0, $width, $height, 100);
// On déactive l'alphablending
imagealphablending($image, false);
// Sauvegarde des données alpha
imagesavealpha($image, true);
//sauvegarde de l'image : 0 de compression
imagepng('test.png', 0);
//on libère la ressource
$image = null;
Est ce que quelqu'un à déjà tenter la fusion de fond transparent et d'images composées de transparence ? Comment ? Ou est ce que je me plante ?
Merci à tous !
Modifié par mini-truc (03 Oct 2013 - 13:20)