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 :

[ezPDF] Fonction addImage : insérer une image créée dynamiquement


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut [ezPDF] Fonction addImage : insérer une image créée dynamiquement
    re bonjour,

    J'ai cru trouver mon bonheur sur un autre site, mais visiblement le sujet a été délesté, pas d' bol.
    Donc voilà j'ai créé des graphs avec Artichow (un JPGraph like) et donc pour le moment elles sont affichées normalement sur une page. Et moi je voudrais les mettre sur le PDF... J'ai vu qu'il y avait 3 fonctions dont 2 (une pour les jpg et l'autre pour les png) pour des images existantes.
    La 3ème addImage doit donc être la bonne... seul soucis j'ai aucune idée de comment m'en servir et la doc ne fournit pas d'exemple.

    Voici la fonction : addImage(img,x,y,w,[h],[quality=75])
    et voici moi comment j'appelle mon "image" en temps normal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <img src="pie.php?
    budget_encours=<?php echo $budget_encours; ?>&amp;
    budget_total=<?php echo $budget_total; ?>&amp;
    pourcentage=<?php echo $pourcentage; ?>" alt="pie" />
    z'avez une piste ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    y a quoi dans pie.php ?

    c est une ressource gd qu'elle veut la fonction addimage
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ben y'a la génération d'un graph genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    require_once "Artichow-php4+5/Pie.class.php";
     
    $graph = new Graph&#40;300, 280&#41;;
    $graph->setAntiAliasing&#40;TRUE&#41;;
    ...
    $graph->add&#40;$plot&#41;;
    $graph->draw&#40;&#41;;
    Donc si je comprends bien c'est pas possible ?
    Ca ressemble à quoi une ressource GD ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    alors on va refaire un ti var_dump
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump&#40;$graph->draw&#40;&#41;&#41;;
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    lol

    mine de rien ça n'a pas été facile... pis c'est pas concluant, il affiche mon graph le plus simplement du monde, il ne donne aucun renseignement textuel (testé sous FF et IE)...

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu as $graph->resource qui est a priori la ressource GD non ?

  7. #7
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Si c'est à moi que s'adresse la question et je suppose que c'est le cas ben je sais pas c'est justement mon post ^_^

    En attendant j'essaye de faire un parallèle entre imagecreate de GD et mon objet $graph d'Artichow... ça me parrait pas encourageant, j'ai comme l'impression qu'il va falloir que je crée ces images donc réellement puis que je les appelle "normalement" via addPngFromFile... j'ai bon ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ca va etre possible mais il va falloir modifier un peu la classe Graph.

    Elle se trouve dans ton rep Artichow/ta version de php/Graph.class.php

    tu rajoutes ca dans la classe :
    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
    function drawAndGet&#40;&#41; &#123;
     
    		if&#40;$this->timing&#41; &#123;
    			$time = microtimeFloat&#40;&#41;;
    		&#125;
     
    		$this->create&#40;&#41;;
     
    		foreach&#40;$this->components as $component&#41; &#123;
     
    			$this->drawComponent&#40;$component&#41;;
     
    		&#125;
     
    		$this->drawTitle&#40;&#41;;
    		$this->drawShadow&#40;&#41;;
    		$this->drawLabels&#40;&#41;;
     
    		if&#40;$this->timing&#41; &#123;
    			$this->drawTiming&#40;microtimeFloat&#40;&#41; - $time&#41;;
    		&#125;
     
     
    		return $this->resource;
     
    	&#125;
    et apres dans ton fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    require_once "Artichow-php4+5/Pie.class.php"; 
     
    $graph = new Graph&#40;300, 280&#41;; 
    $graph->setAntiAliasing&#40;TRUE&#41;; 
    ... 
    $graph->add&#40;$plot&#41;; 
    $a_fournir_en_premier_argument_a_addimage = $graph->drawAndGet&#40;&#41;;
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Mr N. oui mais c est en protected donc pas d'acces externe amoins de le mettre en public mais la ca deviens moins secure comme classe
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  10. #10
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    J'ai fait la modif dans Artichow-php4+5\php4\Graph.class.php

    puis dans pie.php j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $a_fournir_en_premier_argument_a_addimage = $graph->drawAndGet&#40;&#41;;
    à la place de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $graph->draw&#40;&#41;;
    Déjà il aime pas trop sur la version HTML, il me "casse" mon image.

    Et ensuite j'ai continué donc dans pdf.php (fichier qui génère le pdf) j'ai fait un require de pie.php et mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->addImage&#40;$a_fournir_en_premier_argument_a_addimage,100,0,100&#41;;
    Le soucis c'est que pour débugger sans voir les bugs... là j'avoue je cherche plus à comprendre j'ai pas le niveau.


    > edit...

    Mais toute façon il lui faut des param à mon image pour qu'elle génère des graphs cohérents.... donc ma question : comment on lui passe des param GET dans la fonction addImage ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par siddh
    Mr N. oui mais c est en protected donc pas d'acces externe amoins de le mettre en public mais la ca deviens moins secure comme classe
    je suis toujours en PHP4 moa. Ta méthode est pas mal sinon. Je peux la prendre ? 8)

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    alors la version html marchera pas si tu fais un drawAndGet c'est normal car la vu que tu fais plus draw, ca te lance pas l affichage

    donc la dans ta page pdf ca te met une erreur ? l'image s affiche pas du tout ou mal ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    vivi Mr N. prend la, c est juste la methode draw sans ce qui affiche l image a l ecran direct (l'appel a $this->send)

    Et c'est vrai qu en php 4 le protected est sans effet .

    par contre il faut appeler draw pour générer la resource gd donc l'afficher a moins de fournir un nom de fichier pour l enreg sur un fichier.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  14. #14
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Alors la version PDF ne marche pas... c'est tout blanc il me marque même pas ce que j'ai fait ce matin :p

    Donc ce que t'as dit me fait me poser une autre question comment faire pour avoir ma version PDF et ma version HTML à partir du même fichier pie.php... remarque je peux en faire 2... sensiblement identiques à une ligne près, mais question pro... ça le fait moyen. Donc à la limite je peux le régler comme ça donc c'est un détail... enfin si t'as une soluce, vu que tu as l'air de toucher ta bille là dedans.

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  15. #15
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    pour ton histoire de deux fichier, passes un autre parametre en get que tu teste et en fonction tu appel draw ou l autre

    Est ce que tu as un resultat visible en ligne ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  16. #16
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    l'erreur vient peut etre aussi des params get que tu reçoit pas, si il est pas trop long montre moi ton fichier pie pour qu on voit comment faire.

    Sinon l'option deux fichiers sera pas mal puisque dans un ca sera sortie html avec params en get et dans l autre sortie pdf avec les params deja connus ou definis avant inclusion.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  17. #17
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ah oui c'est pas bête l'histoire du param GET, je commence a complexer là

    Un résultat visible... ben c'est pas trop possible, mais en plus y a rien à voir lol (ayé la crise de nerfs qui revient) c'est tout blanc, pas une erreur rien.

    Et pis j'ai essayé ça (puisque le var_dump est dans l'air du temps )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump&#40;$a_fournir_en_premier_argument_a_addimage&#41;;
    Je pense que ça "devrait" marcher vu qu'une resource est un type de variable mais dans IE (mais pas dans FF) j'ai :

    Fatal error: Call to undefined function: drawandget() in c:\services web\easyphp1-8\www\livia\apc_9nov\pie.php on line 68
    Etrange nan ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  18. #18
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    autre solution, tu passes un nom de fichier a ton draw pour lui faire générer un fichier .jpg et ensuite, tu fais un $pdf->addJpegFromFile(imgFileName,x,y,[w=0],[h])

    la encore ca te fais soit deux fichiers soit un seul avec des params différents, tout dépend comment tu veux le gérer
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  19. #19
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    pie.php :

    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
     
    require_once "Artichow-php4+5/Pie.class.php";
     
    $graph = new Graph&#40;300, 280&#41;;
    $graph->setAntiAliasing&#40;TRUE&#41;;
     
    // Titre du graph &#58;
    $graph->title->set&#40;"Secteur / Budget total"&#41;;
    $graph->title->setFont&#40;new Tuffy&#40;14&#41;&#41;;
     
    // Ombrage du graph &#58;
    $graph->shadow->setSize&#40;3&#41;;
    $graph->shadow->setColor&#40;new Color&#40;0xB4, 0xB4, 0xB4&#41;&#41;;
     
    // Valeurs &#58;
    $reste = 100 - $_GET&#91;'pourcentage'&#93;;
    $pourcentage = number_format&#40;$_GET&#91;'pourcentage'&#93;, 2, '.', ' '&#41;;
    $reste       = number_format&#40;$reste, 2, '.', ' '&#41;;
    $values = array&#40;$pourcentage, $reste&#41;;
    $colors = array&#40;new Color&#40;0xA6, 0x05, 0x05&#41;, new Color&#40;0x68, 0xCE, 0x1E&#41;&#41;;
     
    $plot = new Pie&#40;$values, $colors&#41;;
     
    $plot->setCenter&#40;0.55, 0.42&#41;;
    $plot->setSize&#40;0.65, 0.55&#41;;
    // Mode 3D &#58; 9px sur l'axe z &#58;
    $plot->set3D&#40;9&#41;;
    $plot->explode&#40;array&#40;1 => 10&#41;&#41;;
    $plot->label->set&#40;$values&#41;;
    $plot->label->setFont&#40;new Tuffy&#40;9&#41;&#41;;
     
    $plot->setLabelPosition&#40;9&#41;;
     
    // Légende &#58;
    $plot->setLegend&#40;array&#40;
        'Budget en cours &#58; '.$_GET&#91;'budget_encours'&#93;,
        'Budget total &#58; '.$_GET&#91;'budget_total'&#93;
    &#41;&#41;;
     
    $plot->setLabelNumber&#40;1&#41;;
    $plot->legend->setPosition&#40;1.15, 1.3&#41;;
    $plot->legend->setTextFont&#40;new Tuffy&#40;9&#41;&#41;;
    $plot->legend->setSpace&#40;11&#41;;
    $plot->legend->shadow->smooth&#40;TRUE&#41;;
    $plot->legend->setRows&#40;2&#41;;
     
     
    $graph->add&#40;$plot&#41;;
     
    //$graph->draw&#40;&#41;;
    //var_dump&#40;$graph->resource&#41;;
    $a_fournir_en_premier_argument_a_addimage = $graph->drawAndGet&#40;&#41;;
    var_dump&#40;$a_fournir_en_premier_argument_a_addimage&#41;;
     
    ?>
    et voilà le code d'appel pour la version HTML : 3 param GET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <img src="pie.php?
    budget_encours=<?php echo $budget_encours; ?>&amp;
    budget_total=<?php echo $budget_total; ?>&amp;
    pourcentage=<?php echo $pourcentage; ?>" alt="pie" />

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  20. #20
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ta solution de créer l'image me plait, ça fait un peu comme le fichier PDF mais là je dois partir... donc je reprends le post demain.

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2010] ouvrir un userform à partir d'une image créée dynamiquement
    Par eno97 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2012, 12h27
  2. Réponses: 3
    Dernier message: 08/03/2011, 00h01
  3. Centrer un texte sur une image créée dynamiquement
    Par rigolman dans le forum Langage
    Réponses: 7
    Dernier message: 11/10/2005, 18h22
  4. [FLASH MX2004] Insérer une image dynamiquement
    Par Brian3D dans le forum Flash
    Réponses: 5
    Dernier message: 04/04/2005, 11h02
  5. [CR7] Insérer une image dynamiquement
    Par yoloosis dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 28/07/2003, 10h54

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