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

Composants VCL Delphi Discussion :

Comment créer un bitmap à partir d'un panel ?


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Comment créer un bitmap à partir d'un panel ?
    J'ai plusieurs composants que je peux déplacer à mon gré sur un Panel.
    A un moment donné, je veux pouvoir créer un fichier bitmap représentant mon Panel.

    voici comment je m'y prend:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Panel.Brush.Bitmap.SaveToFile("monfichier")
    Mais ça ne marche pas.
    Comment dois-je faire ?

  2. #2
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 37
    Points
    37
    Par défaut
    salut,

    Voici un ptit code qui te copie ce qu'il y a sur un panel sur un bitmap,
    puis sur un Timage pour verifier :
    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
     
    procedure TForm1.Button1Click(Sender: TObject);
     
    var bmp:Tbitmap;
        HDC_Panel:HDC;
        area:Trect;
        Canvas_tmp:TCanvas;
    begin
         HDC_panel:=GetWindowDC(panel1.handle);
         bmp:=TBitmap.Create;
         Canvas_tmp:=TCanvas.create;
         Canvas_tmp.Handle:=HDC_Panel;
         bmp.width:=panel1.width;   // dimension du bitmap = dimension du panel
         bmp.height:=panel1.height;
         area:=rect(0,0,panel1.width,panel1.height);
         // copy du fond windows
         bmp.canvas.copyrect(area,Canvas_tmp,area);
         ReleaseDC(Canvas_tmp.handle,HDC_Panel);
         // le bitmap bmp contient le resultat
         // ici, je le copie sur un Timage de la meme taille pour verifier que ca marche
         image1.picture.assign(bmp);
         bmp.free;
         Canvas_tmp.free;
    end;
    Voilà, tu peux faire ce que tu veux du bitmap bmp, le sauvegarder etc
    avant de le liberer.....
    @+
    ;-) phenix

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bien bien phenixauthor!!!

    -> +1

    à+
    De retour parmis vous après 10 ans!!

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup, ta solution est parfaite !

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

Discussions similaires

  1. Créer bitmap à partir d'un panel
    Par Trowa76 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 10/06/2009, 14h39
  2. Créer un bitmap à partir de plusieurs autres
    Par MiJack dans le forum Delphi
    Réponses: 4
    Dernier message: 08/06/2006, 13h47
  3. [VBA-A]Comment créer une table à partir d'un recordset ?
    Par NoViceDel dans le forum VBA Access
    Réponses: 22
    Dernier message: 23/05/2006, 16h10
  4. Comment créer des relances à partir d'1 table
    Par Rod_75 dans le forum Access
    Réponses: 9
    Dernier message: 01/03/2006, 15h42
  5. [D7] [MySQL] comment créer 1 BDD à partir d'1 appli delphi7
    Par raoulmania dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/11/2005, 18h26

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