JeuWeb (JeuPHP) - Crée ton jeu par navigateur

Version complète : Superposition d'image
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour à tous.

J'essaie de faire un graphique avec artichow représentant des étapes de cyclisme.
C'est bon tout marche. Sauf que j'aimerais mettre des petites images lors des grands prix de la montagne et des sprints intermédiaires ainsi qu'au départ et à l'arrivée.

J'ai les images situées dans (images/profil/depart.png)
Et leurs abcisses.

Or j'ai essayé plein de trucs mais j'ai jamais réussi à coller les images sur mon graphique.

ça doit pas etre un code très long. Mais bon, ça m'arrangerait bien si c'était possible.
J'ai fait toutes les fonctions d'artichow sur leur site, mais entre celles ou j'ai une erreur et celle qui affichent rien...


Merci beaucoup d'avance.
Tu es déjà allé là ? http://fr.php.net/manual/fr/book.image.php

A mon avis (dis-moi si je me trompe) tu utilise que les fonctions Artichow, or ce sont des fonctions dédiées à la création de graphiques. En fait Artichow ne s'occupe que de la partie "graphiques" de ton travail sur les images.
Artichow laisse donc le travail plus brut aux fonctions déjà présentes avec php (celle du lien) comme par exemple la superposition d'image 16

Bon courage !
Disons que je pensais pas que php puisse me superposer l'image en fonction de l'abcisse...

Les fonctions de php peuvent marcher si je n'exporte pas le graphique?
imagecopymerge devrait être la solution 16
Je vois pas du tout comment ça pourrait marcher :(

Image 1 : C'est le graphique, je met quoi
loadimagefrompng, loadimagefromjpeg, loadimagefrombmp, etc. selon le format de ton graphique ...
Je n'y arrive pas, si quelqu'un pouvait me faire un exemple.

Code PHP :
$graph->draw();
  
  
  
  
header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg

// On charge d'abord les images
$source imagecreatefrompng("images/profil/iconed.png"); // Le logo est la source
$destination loadimagefromjpeg// La photo est la destination

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source imagesx($source);
$hauteur_source imagesy($source);
$largeur_destination imagesx($destination);
$hauteur_destination imagesy($destination);

// On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo


// On met le logo (source) dans l'image de destination (la photo)
imagecopymerge(loadimagefromjpeg$source0000$largeur_source$hauteur_source100);

// On affiche l'image de destination qui a été fusionnée avec le logo
imagejpeg($destination); 
Voici les dernières lignes de mon code 11

Merci d'avance
je m'étais trompé.
C'est createimagefrom... et pas loadimagefrom... , désolé :oups:

voila un code qui pourrait t'aider :
Code PHP :
<?php
    
//Le graphique :
    
$MonGraphe imagecreatefrompng('graphique.png');
    
    
//l'image a mettre dessus :
    
$Image_a_fusionner imagecreatefromgif('monlogo.gif');

    
//On le colle en bas du graphe en faisant la différence de la largeur et de la hauteur du graph par rapport à l'image a fusionner.
    
$Dest_X imagesx($MonGraphe) - imagesx($Image_a_fusionner);
    
$Dest_Y imagesy($MonGraphe) - imagesy($Image_a_fusionner);

    
//Fuuuusion !
    
$image imagecopymerge($MonGraphe$Image_a_fusionner$Dest_X$Dest_Y00imagesx($Image_a_fusionner), imagesx($Image_a_fusionner), 90);

    
    
//On verifie que le graphe n'existe pas déja ...
    
if(file_exists('graphx.png')){ unlink('graphx.png'); }
    
    
//On enregistre :
    
imagepng($image'graphx.png');
    
    
//On detruit l'image php afin de libérer des ressources serveur :
    
imagedestroy($image);
?>

<!-- HTML -->

<!-- On affiche l'image précédamment créée -->
<img src="graphx.png" alt="graphique" /> 
Code PHP :
$graph->draw();
  
  
  
  
header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg

    //Le graphique :
    
$MonGraphe imagecreatefrompng('graphique.png');
    
    
//l'image a mettre dessus :
    
$Image_a_fusionner imagecreatefrompng('images/profil/iconed.png');

    
//On le colle en bas du graphe en faisant la différence de la largeur et de la hauteur du graph par rapport à l'image a fusionner.
    
$Dest_X imagesx($MonGraphe) - imagesx($Image_a_fusionner);
    
$Dest_Y imagesy($MonGraphe) - imagesy($Image_a_fusionner);

    
//Fuuuusion !
    
$image imagecopymerge($MonGraphe$Image_a_fusionner$Dest_X$Dest_Y00imagesx($Image_a_fusionner), imagesx($Image_a_fusionner), 90);

    
    
//On verifie que le graphe n'existe pas déja ...
    
if(file_exists('graphx.png')){ unlink('graphx.png'); }
    
    
//On enregistre :
    
imagepng($image'graphx.png');
    
    
//On detruit l'image php afin de libérer des ressources serveur :
    
imagedestroy($image);
?>

<!-- HTML -->

<!-- On affiche l'image précédamment créée -->
<img src="graphx.png" alt="graphique" /> 
<?php
   
mysql_close
();
   
?>

Voici donc ma fin de code, ça marche toujours pas :(
ne met pas de header :
la page que tu vas créer n'est pas une image mais bien une page dans la quelle tu afficheras entre autre une image ...
si tu ne veux faire qu'une image tu dois changer
Code :
imagepng($image, 'graphx.png');
par ...
Code :
imagepng($image);

de plus est ce que ton image graphique.png existe ? je l'ai mis a titre d'exemple mais je ne sais pas si c'est sous ce nom que ta librairie enregistre les images.
Pages : 1 2
URLs de référence