Fusionner plusieurs images en php


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:00

Bonjour,

Avec ce code je fusionne plusieurs images, et j'aimerais rendre les arrières plan (couleur blanche et noire) transparente.

Comment je dois faire ?

Code: Tout sélectionner
<?php
header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg

$corps = imagecreatefromgif("gif0.gif");
$source1 = imagecreatefromgif("gif1.gif");
$source2 =imagecreatefromgif("gif2.gif");
$source3 =imagecreatefromgif("gif4.gif");
$source4 =imagecreatefromgif("gif5.gif");

imagecopymerge($corps, $source1, 4, 0, 0, 0, 80, 80, 100);
imagecopymerge($corps, $source2, 0, 0, 3, 0, 80, 80, 100);
imagecopymerge($corps, $source3, 3, 0, 0, 0, 80, 80, 100);
imagecopymerge($corps, $source4, 0, 0, 6, 0, 80, 80, 100);


imagejpeg($corps);
?>


Resultat : Image


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8306
Inscription: 23 Nov 2005

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:02

Utiliser quelque chose de plus efficace que GD ou GD2. A savoir Imagemagick et sa commande compose :-)


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:43

UsagiYojimbo a écrit:Utiliser quelque chose de plus efficace que GD ou GD2. A savoir Imagemagick et sa commande compose :-)


Tout à fait d'accord !


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8306
Inscription: 23 Nov 2005

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:44

Par contre autant sur un dédié cela se fait sans souci (suffit d'installer les bons package), autnt sur un mutu ça me semble compromis...


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:47

UsagiYojimbo a écrit:Par contre autant sur un dédié cela se fait sans souci (suffit d'installer les bons package), autnt sur un mutu ça me semble compromis...

J'avais pas pensé à ça ...

Je pensais développer un site sur un 240plan ovh ... quelqu'un sait si il y a possibilité d'installer/utiliser imagemagik ?


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8306
Inscription: 23 Nov 2005

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:48

Faut leur demander directement, voir tenter un phpinfo pour savoir si c'est installé (soit les commandes de bases, soit la surcouche php magickwand).


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 20:56

Sur mon hébergeur Imagemagick n''est pas installé.

Comment je pourrais rendre la bordure noire tranparente ?


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 21:18

UsagiYojimbo a écrit:Faut leur demander directement, voir tenter un phpinfo pour savoir si c'est installé (soit les commandes de bases, soit la surcouche php magickwand).

Pour info rien dans le phpinfo, mais j'ai testé ... la lib EST installée ;)

Screu @ 240plan @ content ;)


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8306
Inscription: 23 Nov 2005

Re: Fusionner plusieurs images en php

Message le Mar Juin 23, 2009 21:36

Y'a de quoi. Les possibilités de ces exe sont bien supérieurs à GD, voire GD2, aussi bien fonctionnellement que qualitativement.

J'ai taffé il y a quelques années sur un générateurs de wallpaper Flash + PHP utilisant Imagemagick, ça rocksait bien :-)

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2678
Inscription: 13 Fév 2004

Re: Fusionner plusieurs images en php

Message le Mer Juin 24, 2009 8:56

Si je ne m'abuse, le problème c'est que tu génères du jpeg, et qu'en jpeg, il n'y a pas à proprement parler de couleur transparente, mais tu peux avoir un alpha-channel. Tandis qu'en GIF tu peux dire qu'une couleur particulière (le blanc par exemple) est transparente. Vu le type d'image que tu manipules, le GIF serait de toutes façons probablement un meilleur choix (le jpeg n'est prévu que pour des photos, dans les autres cas il introduit facilement des "artefacts" lors de la compression).

Si tu passes en gif, il te suffit d'utiliser [url=http://us3.php.net/manual/en/function.imagecolortransparent.php]imagecolortransparent[/ulr].

Si tu restes en jpeg, il te faudra allouer une couleur avec une composante alpha, et utiliser imagefill par exemple pour remplacer certaines couleurs existantes par cette nouvelle couleur "transparente".

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités