Create image from Form/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
Für die Beispiele werden folgende Units benötigt:
...
uses
Graphics, Controls, Clipbrd, Forms, ...
...
Die Funktion erstellt vom übergebenen Formular einen Bildschirmausdruck (Screenshot).
...
uses
Forms, Graphics, Controls, ...
...
Procedure subErstelleFormularImage(Formular: TForm; out Bitmap: TBitmap);
var
Breite: Integer;
Hoehe: Integer;
Rechteck: TRect;
begin
Breite := Formular.Width;
Hoehe := Formular.Height;
Rechteck := Rect(0, 0, Breite, Hoehe);
Bitmap.Width := Breite;
Bitmap.Height := Hoehe;
Bitmap.Canvas.CopyRect(Rechteck, Formular.Canvas, Rechteck);
end;
Demonstration, wie z. B. die obige Funktion verwendet werden kann.
...
uses
Clipbrd, ...;
...
procedure Test;
var
Bitmap: TBitMap;
begin
...
// Fordert den Speicher für die Bitmap an
Bitmap := TBitmap.Create;
// Ruft die Funktion zum erstellen des Bildschirmausdrucks / Screenshots auf
subErstelleFormularImage(Form1, Bitmap);
// Beispiel 1: Weist den Screenschot einem Image zu
image1.Picture.Assign(Bitmap);
// Beispiel 2: Weist den Screenschot der Zwischenablage zu
Clipboard.Assign(Bitmap);
// Gibt den Speicher der Bitmap frei
FreeAndNil(Bitmap)
...
end;
...