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 :

Probleme lors de la transformation d'un BMP en WMF


Sujet :

C++Builder

  1. #1
    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
    Par défaut Probleme lors de la transformation d'un BMP en WMF
    Bonjours:
    Apres avoir passe pret d'un mois a chercher comment transformer une image bmp en wmf je viens de reussir.
    C'est realise en utilisant TMetafile et TMetafileCanvas
    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
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Graphics::TBitmap *Bitmap = new Graphics::TBitmap();
    Bitmap->LoadFromFile("C:\\Documents and Settings\\blondelle\\Mes documents\\ConversionImage\\arcarrow1.bmp");
    TMetafile *pMetafile = new TMetafile;
    TMetafileCanvas *pCanvas = new TMetafileCanvas(pMetafile, Bitmap->Canvas->Handle);
    pMetafile->Height = Bitmap->Height;
    pMetafile->Width = Bitmap->Width;
    pCanvas->Draw(0, 0, Bitmap);
    delete pCanvas;
    delete Bitmap;
    //PaintBox1->Canvas->Draw(0, 0, pMetafile); // juste pour visualiser si le passage se fait bien
    pMetafile->SaveToFile("C:\\Documents and Settings\\blondelle\\Mes documents\\ConversionImage\\arcarrow1.wmf");
    delete pMetafile;
    }
    Il me reste cependant un probleme l'image BMP d'origine est de 45x45, l'image transformee en WMF est systematiquement en 1701 x 1058, je ne vois pas pourquoi.

  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
    Par défaut
    J'ai bien galere mais j'ai trouve en fait c'est tres simple, mon code etait bon mais pas dans l'ordre
    Les parametres de " TMetafile " doivent etre definis juste apres l'initialisation du " TMetafile " et avant l'initialisation de " TMetafileCanvas ", dommage que ces fonctions soient si mal documentees.
    Ce code permet donc de convertir un Bitmap en WMF ou en EMF
    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Graphics::TBitmap *Bitmap = new Graphics::TBitmap();
    Bitmap->LoadFromFile("C:\\Documents and Settings\\blondelle\\Mes documents\\ConversionImage\\arcarrow1.bmp");
     
    TMetafile *pMetafile = new TMetafile;
    pMetafile->Height = Bitmap->Height; // a placer imperativement sous TMetafile *pMetafile = new TMetafile;
    pMetafile->Width = Bitmap->Width; // idem a ce qui est ecrit ci dessus
     
    TMetafileCanvas *pCanvas = new TMetafileCanvas(pMetafile, Bitmap->Canvas->Handle); // Bitmap->Canvas->Handle
     
    pCanvas->Draw(0, 0, Bitmap);
    delete pCanvas;
    delete Bitmap;
    //PaintBox1->Canvas->Draw(0, 0, pMetafile); // juste pour visualiser si le passage se fait bien
     
    pMetafile->SaveToFile("C:\\Documents and Settings\\blondelle\\Mes documents\\ConversionImage\\arcarrow1.wmf"); // ou arcarrow1.emf
    delete pMetafile;
    }

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

Discussions similaires

  1. probleme lors de la recuperation d'objet SAS de type Transformation
    Par ganjah06 dans le forum Administration et Installation
    Réponses: 2
    Dernier message: 01/12/2010, 16h13
  2. Réponses: 13
    Dernier message: 10/05/2004, 16h49
  3. [MYSQL] Probleme lors de la compilation
    Par Nasky dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 24/02/2004, 17h04
  4. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  5. problem lors de l'ecriture d'un fichier
    Par gemai dans le forum C
    Réponses: 20
    Dernier message: 29/08/2003, 15h01

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