Voilà, j'ai fait un ptit programme qui fait un screenshot du panel que j'ai dans ma form (je remercie ce site, j'ai trouvé comment faire) mais j'ai un probleme, le screenshot ne correspond pas tout a fait au panel, il est décalé vers le haut de la taille de la barre de titre de la form. C'est comme si elle n'etait pas compté dans la taille de la form ??? Et je ne voudrais pas mettre une valeur fixe, tout le monde n'a pas la meme config de windows... Si qqun sait comment faire, merci de me l'expliquer ...
a tout hasard voici 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 DtCanvas: TCanvas; Bitmap: TBitmap; Src, Dst: TRect; JPEG: TJPEGImage; begin DtCanvas := TCanvas.Create; DtCanvas.Handle := GetDC(0); Bitmap := TBitmap.Create; Bitmap.Height := panel1.Height; Bitmap.Width := panel1.Width; Src := Rect(form1.Left + panel1.Left , form1.Top + panel1.Top , form1.Left + panel1.Left + panel1.Width , form1.top+ panel1.top + panel1.height); Dst := Rect(0, 0, panel1.Width , panel1.height); Bitmap.Canvas.CopyRect(Dst, DtCanvas, Src); ReleaseDC(0, DtCanvas.Handle); DtCanvas.Free; JPEG := TJPEGImage.Create; JPEG.Assign(Bitmap); JPEG.SaveToFile('BOB.jpg'); JPEG.Free;
Partager