|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Bonjour,
Voilà, je compte utiliser la JpGraph pour un proj, mais je regardais la méthode stroke() à qui on peut ne passer aucun paramètre (affichage direct de l'image générée à l'écran), un nom de fichier (création de l'image dans un fichier) ou un image handle, qui j'ai cru comprendre était géré par la GD2. C'est sur cette dernière option que je voudrais me rabatre dans la mesure ou je ne souhaite pas créé de fichier temporaires... Alors créer le fichier et l'envoyer avec un header, je sais faire, mais pour ce qui est de passer d'un handle GD2 -> balise <img> html, je vois pas comment faire... Donc en résumé, la question est "comment peut on afficher une image GD2 que l'on vient de générer en mémoire dans une balise html <IMG> sans passé par un fichier temporaire ? Merci Edit : j'ai quand même idée de créer une page PHP qui génère le fichier et l'envoi avec un header type-contant img/jpeg, et appeler <img src="./myfile.php?param=xxxx"> C'est viable ? y'a plus simple ? |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() ![]() Inscription : juin 2005 Messages : 171 ![]() |
Bonjour,
Cette methode est viable ! En revanche, je ne saurais te dire s'il y a plus simple, mais cette méthode l'est deja non ? |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Je suppose qu'elle est bonne... J'espere que le fait de passer un .php en src à la balise img va pas poser de problème (je me voit pas refaire la config des extensions apache).
Je ne l'ai pas mise en oeuvre car je me heurte à un autre problème : le passage de paramètre... La méthod GET ne me parait en effet pas idiqué compte tenu de la taille du parametre (2 tableau de plusieur milliers de points)... LA solution serait donc de refaire mon calcul de point dans la page appelée, mais à 4 ou 5 secondes le traitement de création de la liste de point, ça me fait mal de le faire 3 fois (3 images à affichés)... surtout qu'il faut ajouter à ça le temps de traitement de jpgraph... |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 403 ![]() |
passe tes parametre en session, mais c'est moyen...
__________________
deY! |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() ![]() Inscription : juin 2005 Messages : 171 ![]() |
Bonjour,
Pour le *.php dans le src de la balise img y a pas de soucis. Le navigateur fait une requete HTTP GET sur la valeur de src et affiche le résultat retourné : donc du moment que ta page php retourne un contenu image valide avec l'entête qui va bien "Content-type: image/jpg" il ne devrait pas y avoir de problème. Quant aux paramêtres, est tu obligé de faire le calcul avant et apres ? Ne peux-tu pas les faire juste au moment de retourner l'image ? Sinon, sauvegarde les après le premier calcul : soit en session comme préconisé par deY!, soit dans un fichier. (Mais les sessions ne me parraissent pas trop mal). |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Bha le problème est justement d'être obligé de faire le calcul avant et après avec cette méthode...
En fait, l'appli récupère un gros tat de données de la BDD, effectue un certain nombre de calcul dessus (interpolation, calcul médiane, variance, equart type voir analyse syntaxique quand il s'agit de texte au lieu de points...) et affiche les résultat textuelles ainsi que les graph qui y correspondent. Le graph généré par l'appli est une image (que je ne souhaite pas stocké sous forme de fichier temporaire). Le problème qui se pose à moi est de faire que l'image non stockée physiquement soit l'affichée sur ma page en dessous des résultats textuels. Je doit donc faire pour afficher l'image un fichier PHP indépendant qui renvoi le MIME qui va bien, et mettre le lien vers se fichier dans mon <img>. Le problème du src=ect... c'est que j'ai que le GET, et mes paramètres sont bien trop importants pour ce type de passage de paramètre. Donc la solution consisterai à refaire le calcul dans le fichier PHP image. Ensuite, l'idée de la $_SESSION est effectivement pas idiote :p Je vais donc m'y essayé... |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 403 ![]() |
Et en crée ton image avec GD2 ?
De toute façon si tu génére ton image avec les valeurs que tu calcul, tu es obligé d'effectuer tes calculs, puis d'envoyer ces resultats... Mais vu ce que tu dis, je crois que tu as une libraire qui permet de genérer des histogramme et toute sorte de chose avec les valeurs que tu lui transmet, enfin je dis ça parceque tu abordes les sujet d'ecart type et mediane... par contre j'ai oublié le nom de cette libraire
__________________
deY! |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Étudiant Inscription : août 2005 Messages : 632 ![]() |
passes tes infos récup de la bdd dans l'url de ton fichier php qui genere l'image. Ainsi, tu n'aura pas à faire les calculs avant ET apres mais juste apres
|
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
L'image sort deja en GD2, mais impossible d'afficher du GD2 dans la page HTML sans passer par un fichier temporaire ou un header qui fera disparaitre tout le HTML... Enfin je crois, si je me treompe, dite moi :p
Pour les calcul statistiques, je dev ma propre lib. La librairie sert juste a convertir / afficher mes valeurs sous forme d'image (gd2). Et comme je disais, que ça soit les calculs préliminaire ou le création de l'image GD2 via la lib d'affichage, les calculs sont long ! L'idée de base était donc de faire le calcul statistiques une 1er fois sur ma page principale, et une 2eme fois + création image sur le fichier appelé par <img> dans ma page principle... ce qui fait fait bien faire 2 fois le calcul statistiques. Ensuite, je pense que la réponse à été donnée, il suffit de passer les résultats de mes calculs et mes champs de points via SESSION. J'espere juste que ça va pas être trop lourd :p |
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Étudiant Inscription : août 2005 Messages : 632 ![]() |
fait un cache. Tu enregistre dans un fichier tes résultats graphiques et si ils sont trop vieux, tu refais le calcul.
|
|
|
00
|
|
|
#11 | |
|
Membre confirmé
![]() ![]() Inscription : juin 2005 Messages : 171 ![]() |
Bonjour,
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 403 ![]() |
En même temps tu ne passes que du texte en session, ou des tableaux... mais rien de trés gros.
__________________
deY! |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : avril 2005 Messages : 7 ![]() |
Bonjour,
j'utilise jpgraph et le même principe <img src="mongraph.php" /> pour générer mon mon image, ca marche juste pour pouvoir enregistrer l'image (click bouton droit enregistrer sous) sous Firefox, il ajout l'extension a la fin genre mongraphe.php.jpg mais IE$ le nom sera mongraph.php. , l'utilisateur doit changer a chaque fois l extension, que pensez vous de l'idée de générer l'image en utilisant Stroke(img/tmp/mongraph.jpg) par un appel AJAX de "mongraphe.php" puis mettre <img src="mongraph.jpg" /> ? y a pas un moyen plus simple pour regler ca ? Merci énormément |
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 403 ![]() |
Est-ce que mongraphe.php contient bien les bon header ? Pcq je ne pense que cela vienne du navigateur.
__________________
deY! |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : avril 2005 Messages : 7 ![]() |
Merci de votre réponse.
oui exactement, il contient les bon header crée par jpgrphe, j arrive a afficher l image, mais c juste la fonctionalité "enregistrer sous" qui me pose problème, y a toujours le nom du fichier .php qui s affiche comme nom par defaut de l image |
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 403 ![]() |
transmet le nom de la photo dans les header... parceque en faite il garde le nom du fichier php par default
Code :
header('Content-disposition: attachment; filename='.basename($fichier));
__________________
deY! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com