AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Desktop bild erstellen

Ein Thema von N47R0N · begonnen am 16. Dez 2005 · letzter Beitrag vom 17. Dez 2005
Antwort Antwort
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#1

Desktop bild erstellen

  Alt 16. Dez 2005, 22:33
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:
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.
wenn man also auf den button klickt wird der desktop wie er ist als bild gespeichert und als screen.jpg abgespeichert.

nunja mein problem ist das die größe dieser jpg dann 3MB beträgt woran liegt das?
wie kann ich das ändern?

danke
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#2

Re: Desktop bild erstellen

  Alt 16. Dez 2005, 22:36
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 Delphi-Referenz durchsuchenAssign
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Desktop bild erstellen

  Alt 16. Dez 2005, 22:36
Zitat von N47R0N:
img.Picture.SaveToFile('screen.jpg');
Weil Picture.SaveToFile dies als BMP speichert ... Schau mal hier im Forum nach Hier im Forum suchenJPEG speichern.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Desktop bild erstellen

  Alt 17. Dez 2005, 05:25
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;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#5

Re: Desktop bild erstellen

  Alt 17. Dez 2005, 11:40
Big THX
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz