Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Screeshot aus einem bestimmten Bereich left-width und ...

  Alt 17. Nov 2005, 10:47
Hallo Wissende!

Ich möchte/muss einen Screenshot aus einem Teilbereich meiner Anwendung schiessen. Es ist ein Panel, von dem ich ein Bild benötige und ich weiss auch direkt welcher Bereich von dort benötigt wird.
Folgenden Code habe ich schon gefunden, um meinen Wunsch zu Realisieren.

In diesem Code wird vom Formular der Screenshot gemacht. Ich ersetze also einfach nur das Handle durch das auf´s Panel!? Die eigentliche Frage lautet aber, wie kann ich in dieser Routine sagen, dass ich den Screenshot von left=5 bis panel.width-5 und top=5 bis height-5 brauche???

Delphi-Quellcode:
var
  b1,b2:tbitmap;
  j:tjpegimage;
begin
  b1:=tbitmap.Create;
  b1.width:=self.Width-pan_left.width;
  b1.height:=self.Height;
  b1.canvas.handle:=GetWindowDC(Form1.Handle); // Desktop erfassen
  b2:=tbitmap.create;
  b2.width:=b1.width;
  b2.height:=b1.height;
  b2.Canvas.CopyRect(screen.desktoprect,b1.Canvas,screen.desktoprect);
  j:=tjpegimage.create;
  j.assign(b2);
  j.savetofile('C:\Screen.jpg');
  j.free;
end;
Ist sicher nur ne Kleinigkeit, oder?
Danke
Tom
  Mit Zitat antworten Zitat