Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Screenshot vom Clientbereich der Mainform machen

  Alt 1. Apr 2012, 16:18
Wieso fallen mir nur immer die Lösungen ein, nachdem ich gepostet hab ...

Delphi-Quellcode:
procedure ScreenShot_erstellen(Pfad: String);
var
  Bitmap : TBitmap;
  Jpg : TJpegImage;
  BitmapRect: TRect;

  i_Width : Integer;
  i_Height : Integer;

begin
  //Bitmap erzeugen
  Bitmap := TBitmap.Create;

  i_Width := Application.MainForm.ClientWidth;
  i_Height := Application.MainForm.ClientHeight;

  try
    //Rect des Clientbereiches definieren
    BitmapRect := Rect(0, 0, i_Width, i_Height);

    //Bitmap-Größe angeben
    Bitmap.Width := i_Width;
    Bitmap.Height := i_Height;

    Bitmap.Canvas.CopyRect(BitmapRect, Application.MainForm.Canvas, BitmapRect);

    //nur für den Thread - eigentlich steht zum Speichern noch etwas mehr Code dahinter
    Bitmap.SaveToFile(Pfad + 'Bild.jpg');
   finally
     //Bitmap löschen und freigeben
     FreeAndNil(Bitmap);
   end;
 end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat