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?