@RobertS: hehe, ich habn k6 2 300mhz ;)
also jetzt geht eigentlich alles ganz gut. ich hab noch nebenbei reingemacht, dass man die größe von dem bild verändern kann:
Delphi-Quellcode:
procedure aScreenShot(const aFileName: String; Quality, Width, Height : Integer);
var
aDC : hDC;
aBmp : TBitmap;
aJpg : TJPEGImage;
mh, hBmp : THandle;
begin
ajpg := TJPEGImage.Create;
aBmp := TBitmap.Create;
aBmp.Width := Screen.DesktopWidth;
aBmp.Height := Screen.DesktopHeight;
aDC := GetDC(0);
hBmp := CreateCompatibleBitmap(aDC, Screen.Width, Screen.Height);
mh := SelectObject(aDC, hBmp);
try
BitBlt(aBmp.Canvas.Handle, 0, 0, aBmp.Width, aBmp.Height, aDC, 0, 0, SRCCopy);
ajpg.Assign(aBmp);
aBmp.Width := Width;
aBmp.Height := Height;
aBmp.Canvas.StretchDraw(Rect(0, 0, aBmp.Width, aBmp.Height), ajpg);
ajpg.assign(aBmp);
ajpg.CompressionQuality := Quality;
ajpg.Compress();
ajpg.SaveToFile(aFileName);
finally
ajpg.Free;
aBmp.Free;
SelectObject(aDC, mh);
DeleteObject(hBmp);
ReleaseDC(0, aDC);
end;
end;
kann mal jemand schnell trübergucken, ob das auch so performance-mäßig ok ist? weil, wenn ich jetzt auf den button klicke, bleibt meine maus sogar für knapp eine sekunde hängen ;) naja, vielleicht liegts auch an meiner alten krück ;)