Hi!
Du könntest Deine Komponenten auch auf ein Panel legen mit der Eigenschaft
BevelOuter := bvNone;.
Das Panel lässt sich über ein eigenes Handle ansprechen, benötigst also hinterher kein Zuschneiden mehr.
Z.B. so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| var PanDC: HDC; ATarget: TBitmap;
procedure Init; begin PanDC := GetDC(Form1.Panel1.Handle); ATarget := TBitmap.Create;
ATarget.Width := Form1.Panel1.Width; ATarget.Height := Form1.Panel1.Height; end;
procedure MakeScreenShot; begin BitBlt(ATarget.Canvas.Handle, 0, 0, Form1.Image1.Width, Form1.image1.Height, PanDC, 0, 0, SRCCOPY); end;
ATarget.Free; DeleteDC(PanDC); |
Die Bilder könntest Du nun in einer ImageList ablegen. Ich hoffe jedenfalls, dass das schneller geht.
Grüße,
Marc