![]() |
Desktop bild erstellen
also ich habe nur ma so aus spass vor das ein programm nach einer weile ein bild von meinem momentanen screen macht.
da habe ich mir mit etwas hilfe das hier zusammengebastelt:
Delphi-Quellcode:
wenn man also auf den button klickt wird der desktop wie er ist als bild gespeichert und als screen.jpg abgespeichert.
procedure TForm1.Button1Click(Sender: TObject);
Var DeskHw,DeskHdC : Longint; begin DeskHw:=getdesktopwindow; DeskHdc:=getdc(deskHw); img.height:=screen.Height; img.width:=screen.Width; BitBlt(img.Canvas.Handle,0,0,screen.Width, screen.Height,DeskHdc,0, 0,SRCCOPY); sleep(200); if fileexists('screen.jpg') then deletefile('screen.jpg'); img.Picture.SaveToFile('screen.jpg'); end; end. nunja mein problem ist das die größe dieser jpg dann 3MB beträgt woran liegt das? wie kann ich das ändern? danke |
Re: Desktop bild erstellen
Erstelle dir eine Variable vom Typen TJpegImage, dort kannst du speichern und vorher Compression und CompressionQuality einstellen ;)
MfG, air P.S.: Unit "JPEG" einbinden! ;) Edit: Achja, die Prozedur die du dann noch brauchst ist ![]() |
Re: Desktop bild erstellen
Zitat:
![]() |
Re: Desktop bild erstellen
Ein Beispiel:
Delphi-Quellcode:
uses JPEG;
procedure TForm1.Button1Click(Sender: TObject); const FileName = '.\screen.jpg'; JpgQuality = 98; // 1..100 var DeskHdC : Longint; JpgImg: TJPEGImage; BmpImg: TBitmap; begin JpgImg := TJPEGImage.Create; BmpImg := TBitmap.Create; try DeskHdc := GetDC(GetDesktopWindow); BmpImg.Height := Screen.Height; BmpImg.Width := Screen.Width; BitBlt(BmpImg.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DeskHdc, 0, 0, SRCCOPY); JpgImg.Assign(BmpImg); if FileExists(FileName) then DeleteFile(FileName); JpgImg.CompressionQuality := JpgQuality; JpgImg.SaveToFile(FileName); //Previewimage Image1.Picture.Assign(BmpImg); finally JpgImg.Free; BmpImg.Free; end; end; |
Re: Desktop bild erstellen
Big THX :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz