Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
Delphi 7 Enterprise
|
28. Apr 2003, 09:41
Hallo,
ich habe sowas ähnliches auch schon mal benötigt, allerdings weiß ich nicht wie schnell die Wandlungszeit ist...
Delphi-Quellcode:
PROCEDURE aScreenShot(CONST aFileName: STRING);
{*****************************************************************************
*** Screenshot Utility mit Export als JGEP-File ***
*** ------------------------------------------- ***
*** INPUT: aFileName, speicherziel ***
*** OUTPUT: n/a ***
*** RESULT: n/a ***
*[flapp 01/01/2003]**********************************************************}
VAR
aDC : hDC;
aBmp : TBitmap; //
aJpg : TJPEGImage;
mh, hBmp : THandle;
BEGIN
ajpg := TJPEGImage.Create;
aBmp := TBitmap.Create;
aBmp.Width := Screen.Width;
aBmp.Height := Screen.Height;
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);
ajpg.CompressionQuality := 30;
ajpg.Compress;
ajpg.SaveToFile(aFileName);
FINALLY
ajpg.Free;
aBmp.Free;
SelectObject(aDC, mh);
DeleteObject(hBmp);
ReleaseDC(0, aDC);
END;
END;
Armin P. Pressler
BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
|
|
Zitat
|