Dans une Form j'ai un Panel et dans ce Panel aussi deux images et trois label alors je veux energistrer le tout qu'est quel exist sur le panel comme une image... ?
![]()
Dans une Form j'ai un Panel et dans ce Panel aussi deux images et trois label alors je veux energistrer le tout qu'est quel exist sur le panel comme une image... ?
![]()
Voiçi une solution du type "système D" : Tu lances ton appli ... puis tu déclenches une capture d'écran, ou de région d'écran, avec un logiciel de capture (ex : SnagIt) ou un logiciel de dessin (ex : PaintShopPro) qui comporte une fonction de capture ... et qui t'envoient le fichier-image.bmp sur le disque-dur. Ensuite tu peux récupérer le fichier-image comme tu veux et en faire ce que tu veux.
Mais peut-être qu'il existe des "solutions Delphi" plus académiques ...
Salut
Il existe également la méthode GetFormImage de TForm !
Cela répondra peut-être à ton besoin.
@+ Claudius
Voici un bout de code adapté d'un systeme de screenshoty connu
On peux recuperer un HDC (handle graphique) depuis n'importe quelle handle ... donc composant ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Var Can : TCanvas; BMP : TBitmap; begin BMP := TBitmap.Create; Can := TCanvas.Create; Can.Handle := Windows.GetWindowDC(Self.Panel1.Handle); BMP.Width := Can.ClipRect.Right-Can.ClipRect.Left; BMP.Height := Can.ClipRect.Bottom-Can.ClipRect.Top; BMP.Canvas.CopyRect(BMP.Canvas.ClipRect, Can, Can.ClipRect); BMP.SaveToFile('c:\canvas.bmp'); Can.Free; BMP.Free; End;
Ensuite on y place un canvas (meme si ce dernier n'en possede pas !) et on peux recuperer ce qui y est dessiné, et meme y ecrire.
Je ne suis pas sur mais je pense que l'on a meme pas besoin de canvas .. on doit pouvoir directement affecter au canvas du bitmap le handle recupere a partir du panel ...
Envoyé par Clorish
beaucoup ce code marche tres bien.
Partager