(Iv) Créer un fichier unitaire qui capture les images scrncpt
unit scrncpt;
interface
Utilise Windows, Formes, Controls, Classes, Graphics;
Fonction CapturesCreenRect (Arect: Trect): tbitmap;
fonction CaptureScreen: tbitmap;
Fonction CaptureClientimage (Control: TControl): TBitmap;
Fonction CaptureControlimage (Control: TControl): tbitmap;
fonction capturewindowImage (wnd: hwnd): tbitmap;
Mise en œuvre
Fonction CapturesCreenRect (Arect: Trect): tbitmap;
Var ScreendC: HDC;
Commencer
Résultat: = tbitmap.create;
avec résultat, arect faire
Commencer
Largeur: = droite-gauche;
Hauteur: = en bas;
ScreendC: = getdc (0);
essayer
// bool bitblt (hdcdest, nxdest, nydest, nwidth, nheight, hdcsrc, nxsrc, nysrc, dwrop)
// Copiez le bitmap à partir du périphérique source Description Table
// Le Raster Opcode DWrop spécifie la méthode combinée du diagramme source
Bitblt (canvas.handle, 0,0, largeur, hauteur, écran, gauche, haut, srccopy);
Enfin
Libéréc (0, scripenc);
fin;
fin;
fin;
// Capture d'image en plein écran
fonction CaptureScreen: tbitmap;
Commencer
avec l'écran faire
Résultat: = CapturesCreenRect (RECT (0,0, largeur, hauteur));
fin;
// Emparent l'image de la zone du client d'un formulaire ou d'un contrôle
Fonction CaptureClientimage (Control: TControl): TBitmap;
Commencer
//Control.clientorigin est le coin supérieur gauche de la zone du client témoin. x, y est une variable de la clientèle
avec contrôle, contrôle.clientorigin do
Résultat: = CapturesCreenRect (Bounds (X, Y, ClientWidth, ClientHeight));
fin;
// Ramper une forme ou un contrôle entier
Fonction CaptureControlimage (Control: TControl): tbitmap;
Commencer
avec le contrôle faire
Si parent = nil alors // il n'y a pas de formulaire parent, saisissez-le directement en fonction de son emplacement
Résultat: = CapturesCreenrect (limites (gauche, haut, largeur, hauteur))
else // il y a un formulaire parent, le convertir en coordonnées d'écran, puis saisir
avec parent.clienttoscreen (point (gauche, haut))
Résultat: = CapturesCreenRect (Bounds (x, y, largeur, hauteur));
fin;
// ramper selon la poignée du formulaire
fonction capturewindowImage (wnd: hwnd): tbitmap;
var r: Trect;
Commencer
GetWindowRect (WND, R);
Résultat: = CapturesCreenRect (R);
fin;
fin.