Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
Delphi 2005 Personal
|
Re: Pixelparty - oder das irre Projekt *seufz*
7. Dez 2005, 18:32
Hier eine Screenshot-Funktion:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
i,i2:integer;
b2:tbitmap;
r:trect;
begin
if not savedialog1.Execute then
application.Terminate;
b:=tbitmap.Create;
b.Width:=screen.Width;
b.Height:=screen.height;
b.Canvas.handle:=GetWindowDC(GetDesktopWindow);
b2:=tbitmap.Create;
b2.Width:=screen.Width-1;
b2.Height:=screen.Height-1;
sleep(100);
b2.Canvas.CopyRect(screen.desktoprect,b.Canvas,screen.desktoprect);
if savedialog1.filterindex=1 then
b2.SaveToFile(savedialog1.filename) else
begin
j:=tjpegimage.create;
form2:=tform2.Create(application);
form2.showmodal;
j.assign(b2);
j.savetofile(savedialog1.FileName);
j.free;
end;
application.terminate;
b.free;
b2.free;
end;
Hab ich mal geschrieben.
Kannst du ja einfach abwandeln. Statt screen.desktoprect nimmst du den zu beobachtenden Bildschirmbereich und statt der Speicherungsprozedur schreibst du eine Vergleichsprozedur.
Delphi-Quellcode:
var
i,i2:integer;
b,b2:tbitmap;
r,zubeobachtenderbereich:trect;
begin
zubeobachtenderbereich.left:=...;
b:=tbitmap.Create;
b.Width:=screen.Width;
b.Height:=screen.height;
b.Canvas.handle:=GetWindowDC(GetDesktopWindow);
b2:=tbitmap.Create;
b2.Width:=screen.Width-1;
b2.Height:=screen.Height-1;
sleep(100);
b2.Canvas.CopyRect(screen.desktoprect,b.Canvas,zubeobachtenderbereich);
//Hier BMPs vergleichen
b.free;
b2.free;
end;
Michael Enßlin Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
|
|
Zitat
|