IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] superposition avec imagecopymerge


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2004
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2004
    Messages : 88
    Par défaut [GD] superposition avec imagecopymerge
    Bonjour

    Je suis en train de réaliser une carte de géo-localisation des membres.
    J'ai donc créé (ou plutot modifié) une carte de france pour utiliser imagefilltoborder.

    Je me base sur >> cette map. <<

    J'exécute ensuite ma moulinette pour récupérer le nombre de membres par département et colorer ces derniers.

    Ce qui me pose problème c'est ensuite pour greffer la légende, le numéro des départements, et en bas a gauche le nombre de personnes par pays (pas encore implanté dans le code)
    >> L'image que je dois incorporer. << (les chiffres des départements sont en blancs ^^

    Je me suis penché sur imagecopymerge, mais jai beau avoir tester gif et png (il me faut de la transparence) ou la valeur du dernier argument (j'avoue ne pas trop avoir compris, c'est l'opacité de la source pour la fusion avec la destination?)

    Voici le script qui génère la map :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <?php 
     
    // {inclusion de la classe sql etc..}
     
    $map 	= "./img/france_empty.png";
    $output = "carte.png";
    $num_dept = "./img/carte_dept.png";
     
     
    list($width, $height, $type, $attr) = getimagesize($map);
    $img 	= 	imagecreatefrompng($map);
    $img2 	= 	imagecreatefrompng($num_dept);
     
     
    // LES COULEURS
    $border = 	ImageColorAt ($img, 100, 100);  // Pour les couleurs du bord... choisir blanc avec imagecolorallocate ne marche pas T_T
    //$border = 	imagecolorallocate($img, 255, 255, 255);
    $black 	= 	imagecolorallocate($img, 0, 0, 0); // pour le texte
     
    $ciel 	= 	imagecolorallocate($img,200,200,255); // 1 ou 2
    $green 	= 	imagecolorallocate($img, 0, 255, 0); // 3 à 5
    $jaune 	= 	imagecolorallocate($img,220,232,0); // 5 à 10
    $orange = 	imagecolorallocate($img,250,157,0); // 11 à 25
    $red 	= 	imagecolorallocate($img, 255, 0, 0); // + de 25
     
     
    $query = $mysql->query_mysql("SELECT count(departement) AS nbmembres, nom_dept, departement, X, Y FROM `geo_dept`, `membres`, `departements` WHERE pays='FR' AND departement=id_dept AND id_dept=code GROUP BY departement");
    // REMPLISSAGE DES DEPARTEMENTS
    // imagefilltoborder ( resource $image, int $x, int $y, int $border, int $color )
    while ($row = mysql_fetch_assoc($query)) {
    	$nbmembres = $row['nbmembres'];
    	if($nbmembres < 3) {
    		$color = $ciel;
    	} elseif($nbmembres > 2 && $nbmembres < 6) {
    		$color = $green;
    	} elseif($nbmembres > 5 && $nbmembres < 11) {
    		$color = $jaune;
    	} elseif($nbmembres > 10 && $nbmembres < 26) {
    		$color = $orange;
    	} else {
    		$color = $red;
    	}
     
    	imagefilltoborder($img, $row['X'], $row['Y'], $border, $color);	
    }
    	mysql_free_result($query);
     
    // INSCRUSTATION DES NUMEROS DE DEPARTEMENTS ET DE LA LEGENDE
    // 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($img, $img2, 0, 0, $width, $height, 0, 0, $width, $height, 0);
     
    imagepng($img,$output);
     
    imagedestroy($img);
    imagedestroy($img2);
    Et le rendu final est >> ICI <<

    C'est comme si la fusion ne s'était pas effectuée

    Si quelqu'un pourrait m'aider, je connaissais pas du tout GD et je découvre les fonctions au fur et a mesure et la je bloque vraiment...

    Merci d'avance DD.

  2. #2
    Membre confirmé
    Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2004
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2004
    Messages : 88
    Par défaut
    bon j'ai "un peu" avancer dans le sens ou jai mes 2 images qui se superposent.

    Le soucis, c'est tout tout les textes et mon trait ne s'affichent pas, ca donne des carrés



    j'ai rajouté ceci apres les imagecreatefrompng:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    imagecolortransparent($img2,imagecolorat($img2,0,0));
     
    imagesavealpha($img2, true);
    imagealphablending($img2, true);
    et le résultat, bein >> ICI <<

    je vois vraiment pas
    avec imagecopy jai soit l'un soit lautre la transparence marche pas meme avec ce que jai rajouté.

    bref si quelqu'un a une idée ou s'est déjà confronter a ce genre de problème...
    merci

    EDIT: problème résolu...
    jai juste utilisé imagecolortransparent mais avec mon image a incruster en gif...
    va savoir pourquoi ya des carrés avec le png
    4 jours pour y arrivé et bein heureusement que je suis pas payer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de superposition avec JLayeredPane
    Par DieNah dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 15/11/2012, 17h39
  2. [GD] Problème avec imagecopymerge
    Par maaxxx dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 28/07/2010, 11h41
  3. Réponses: 1
    Dernier message: 27/03/2009, 12h49
  4. Intégration de la fusion d'images avec "imagecopymerge" dans un script
    Par foxprox dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 24/03/2009, 16h52
  5. [Layer] Probleme de superposition avec les JMenuItem
    Par azdruyel dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 21/07/2004, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo