Mit
BitBlt kannst du mit einer Zeile direkt einen Ausschnitt von deinem Form-
Handle auf ein Bitmap ziechnen.
Dazu musst du im letzten Parameter der Funktion SRCCOPY übergeben.
Edit:
Hier ein paar mehr infos ^^
MSDN Link mit allen Parametern
Delphi-Quellcode:
BOOL BitBlt(
_In_ HDC hdcDest,
// Handle auf welchem der Ausschnitt gezeichnet werden soll
_In_ int nXDest,
// Start X-Koordinate auf dem End Bild (Wird wahrscheinlich 0 sein)
_In_ int nYDest,
// Hier das selbe
_In_ int nWidth,
// Breite des Ausschnitts
_In_ int nHeight,
// Höhe des Ausschnitts
_In_ HDC hdcSrc,
// Handle deines Formulars (self.Canvas.Handle)
_In_ int nXSrc,
// Start X-Koordinate vom Ausschnitt auf deinem Formular
_In_ int nYSrc,
// Das selbe für Y
_In_ DWORD dwRop
// "SRCCOPY"
);