Thema: Delphi screenshot als jpeg

Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#8
  Alt 28. Apr 2003, 08: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;
  Mit Zitat antworten Zitat