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

C++Builder Discussion :

du mal avec HPDF_LoadPngImageFromFile [Débutant]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut du mal avec HPDF_LoadPngImageFromFile
    bonjour tous le monde

    HPDF_LoadPngImageFromFile vient de libHaru une librairie que j'ai telecharger
    pour généré des pdf et en tant normal avec HPDF_LoadPngImageFromFile on recupere une image pour l'afficher dans ce pdf

    donc le souci c'est dès que je met cette ligne dan mon code il n'y a rien qui s'affiche a part le texte et encore pire quand je met cette ligne HPDF_Page_DrawImage le fichier pdf n'es meme pas généré

    apres d'inombrables lecture de la doc libHaru je n'y arrive pas et c'est la seul chose qu'il me reste pour finir mon programme sil vous plait aidez moi a finir

    voila mon code:
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    float fTailleTexte; //*** longueur du texte
        float fXPos;
        float fYPos;
        float MilieuH;
     
     
     
        //**fin initialisation des ariables
     
     hDoc=HPDF_New(NULL,NULL);
     if(!hDoc){
     ShowMessage("Le nouveau document n'a pa pu etre cree");
     }
     else{
     
     
     Hnom=NOM;
     
     HPDF_SetCompressionMode(hDoc,HPDF_COMP_ALL);
     hFont = HPDF_GetFont(hDoc, "Helvetica", NULL);
     hPage = HPDF_AddPage(hDoc);
     
     
     
     
     
                  //*** Ajout d'un titre en haut de la page
                //*** Parametre du texte
                HPDF_Page_SetFontAndSize(hPage, hFont, 16);
                fTailleTexte = HPDF_Page_TextWidth(hPage, Hnom.c_str());
     
     
     
     
     
     
     
                //*** position centrale horizontale//*********************
                fXPos = (HPDF_Page_GetWidth(hPage) - fTailleTexte) / 2;
                //*** Position verticale//*********************************
                fYPos = HPDF_Page_GetHeight (hPage) - 30;
     
     
     
     
                //*** Ajout du texte en haut et au centre du document
                HPDF_Page_BeginText (hPage);
                HPDF_Page_TextOut (hPage,  fXPos, fYPos, "LP Demtrans");
                HPDF_Page_EndText (hPage);
     
               //*******************************************************
               MilieuH=(HPDF_Page_GetWidth(hPage)- fTailleTexte)/4;//milieu horizontal rectangle//
               HPDF_Page_Rectangle(hPage, MilieuH,fYPos-5, fXPos+80, 25);
               HPDF_Page_Stroke(hPage);
               //********************************************************
     
     
               HPDF_Image image=HPDF_LoadPngImageFromFile(hPage,"baniere.png");
              // HPDF_Page_DrawImage(hPage,image,50,30,200,50);
     
     
     
        }
        //*** Sauvegarde du document
        aFileName = Application->ExeName;
        aFileName = ExtractFilePath(aFileName);
        aFileName += "Sauvegarde\\Devis\\"+NUMDEVIS+"_"+Hnom+".pdf";
        HPDF_SaveToFile(hDoc, aFileName.c_str());
        //*** Libération du document
        HPDF_Free(hDoc);

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut keusty78
    Cela fonctionne chez moi comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
               HPDF_Image image = HPDF_LoadPngImageFromFile(hDoc,"D:\\libharu\\Teste_BCB\\crow_64.png");
               HPDF_Page_DrawImage(hPage,image,0,0,50,50);
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par blondelle Voir le message
    Salut keusty78
    Cela fonctionne chez moi comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
               HPDF_Image image = HPDF_LoadPngImageFromFile(hDoc,"D:\\libharu\\Teste_BCB\\crow_64.png");
               HPDF_Page_DrawImage(hPage,image,0,0,50,50);

    Merci a toi c'est gentil blondelle j' essayer mai chez moi sa ne marche pas sa fais 2 jours que je suis dessus et je n'y arrive toujours pas et le problème vient justement de ces 2 ligne la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HPDF_Image image = HPDF_LoadPngImageFromFile(Hdoc,"baniere.png");
    HPDF_Page_DrawImage(Hpage,image,0,0,50,50);
    dès que je les ajoutes le pdf ne se génère pas il ne se passe rien, et le plus embêtant c'est que je n'est même pas de message d'erreur pour savoir d'ou vient le problème

    je suis vraiment bloquer

  4. #4
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Le probleme que j'ai eu c'est que l'image se chargait mais ne n'etait pas visible elle etait hors cadre, l'exemple donne utilise une image de 64x64, soit le positionnement de l'image n'est pas correct, soit le code precedent le code d'affichage de l'image a reserve trop d'espace
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par blondelle Voir le message
    Le probleme que j'ai eu c'est que l'image se chargait mais ne n'etait pas visible elle etait hors cadre, l'exemple donne utilise une image de 64x64, soit le positionnement de l'image n'est pas correct, soit le code precedent le code d'affichage de l'image a reserve trop d'espace
    j'ai ai essayer avec une image de taille 50*50 avec les même position que tu a utiliser sa me fais toujours pareille c'est a dir qu'aucun document n'est sauvegarder mais ce qui est bizar quand je met ces 2 ligne la en comentaire le document est sauvegarder donc le problème vient de ces 2 ligne mai je vois pas ce que je peu faire d'autre sans ces 2 ligne est ce qu'il y a autre chose a ajouter a ces 2 ligne? ou seulement ces 2 ligne suffise pour faire apparaitre l'image

    si sa ne te dérange pas blondelle pourai tu poster un exemple de ton code que je le teste chez moi

    merci pour ton aide

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Je n'ai rien fait d'extraordinaire j'ai fait un copier colle du code poste
    Sur ma Form un TButton un TEdit
    le code
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include "hpdf.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    //*** Initialisation des variables
        HPDF_Doc hDoc;
        HPDF_Font hFont;
        HPDF_Page hPage;
        AnsiString aFileName; //*** Nom du fichier pdf
        AnsiString aChaine; //*** Chaine de caracteres
        float fTailleTexte; //*** longueur du texte
        float fXPos;
        float fYPos;
        //*** Création d'un nouveau document
        hDoc = HPDF_New(NULL, NULL);
        //*** Affichage d'erreur si le document n'a pas ete cree
        if(!hDoc)
            ShowMessage("erreur");
        else
        {
            aChaine = Edit1->Text;
            //*** Parametre de la compression
            HPDF_SetCompressionMode(hDoc, HPDF_COMP_ALL);
            //*** Parametre de la police
            hFont = HPDF_GetFont(hDoc, "Helvetica", NULL);
            //*** Ajout d'une page au document
            hPage = HPDF_AddPage(hDoc);
            //*** Ajout d'un titre en haut de la page
                //*** Parametre du texte
                HPDF_Page_SetFontAndSize(hPage, hFont, 16);
                fTailleTexte = HPDF_Page_TextWidth(hPage, aChaine.c_str());
                HPDF_Page_Rectangle(hDoc,80,30,1000,1000);
                HPDF_Page_Rectangle(hDoc,50,40,30,30);
                //*** position centrale horizontale
                fXPos = (HPDF_Page_GetWidth(hPage) - fTailleTexte) / 10;
                //*** Position verticale
                fYPos = HPDF_Page_GetHeight (hPage) - 30;
    //***
             HPDF_Page_Rectangle(hPage,fXPos,fYPos,fYPos,fXPos);
             HPDF_Page_Stroke (hPage);
    //***
                //*** Ajout du texte en haut et au centre du document
    //            HPDF_Page_BeginText (hPage);
    //            HPDF_Page_TextOut (hPage,  fXPos + 10, fYPos + 10, aChaine.c_str());
    //            HPDF_Page_EndText (hPage);
    // D:\\Copie_USB\\Sauvegarde mes documents C\\Mes images\\IconsDivers\\halloween_win\\Halloween Set\\PNG\\16x16\\crow_16.pgn
               HPDF_Image image = HPDF_LoadPngImageFromFile(hDoc,"D:\\libharu\\Teste_BCB\\crow_64.png");
               HPDF_Page_DrawImage(hPage,image,0,0,50,50);
     
        }
        //*** Sauvegarde du document
        aFileName = Application->ExeName;
        aFileName = ExtractFilePath(aFileName);
        aFileName += "<a href="file://\\test.pdf" target="_blank">\\test.pdf</a>";
        HPDF_SaveToFile(hDoc, aFileName.c_str());
        //*** Libération du document
        HPDF_Free(hDoc);
    }
    //---------------------------------------------------------------------------
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    c'est a ne rien comprendre le même code chez toi marche et chez moi ne marche pas alors la je n'y comprend vraiment plus rien c'est a se tiré les cheveux

    donc si le problème ne vient pas du code d'ou pourais t'il bien venir?
    je me le demande

    en tout cas merci pour ton aide blondelle je vais achercher encore un peu on verra bien.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 55
    Points
    55
    Par défaut
    Sayai blondelle j'ai trouver ce qui n'allai pas

    le problème venais de ma cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HPDF_Image image = HPDF_LoadPngImageFromFile(Hdoc,"baniere.png");
    en faite juste avant le nom de l'image falai rajouter "..\\"

    c'est a dir que le chemin en realité est : "..\\baniere.png"
    mai je savais pas qu'il falait mettre 2 point pour le chemin de l'image alor quelle ce trouve dan le même repertoire que mon projet mai bon le principal c'est que sa marche merci encore blondelle

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

Discussions similaires

  1. LIMIT calcul mal avec des JOIN
    Par FMaz dans le forum Requêtes
    Réponses: 21
    Dernier message: 12/07/2006, 03h37
  2. Réponses: 3
    Dernier message: 21/06/2006, 14h59
  3. [debutant]J'ai du mal avec la gestion des erreurs
    Par gillou13 dans le forum Langage
    Réponses: 5
    Dernier message: 02/06/2006, 14h33
  4. du mal avec les fichiers ressources
    Par keil dans le forum MFC
    Réponses: 1
    Dernier message: 01/02/2006, 02h46
  5. [POO] Un peu de mal avec les membres de ma classe
    Par Spack dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/11/2005, 03h41

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