AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Jpg Screenshot von einem Fenster

Jpg Screenshot von einem Fenster

Ein Thema von Neutral General · begonnen am 5. Nov 2005 · letzter Beitrag vom 6. Nov 2005
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Jpg Screenshot von einem Fenster

  Alt 5. Nov 2005, 20:23
Hi,

Wie kann man mit Delphi ein Screenshot von einem Fenster machen ?
Also nicht von dem ganzen Bildschirm. Und am besten auch direkt im jpg Format.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Jpg Screenshot von einem Fenster

  Alt 5. Nov 2005, 20:43
Hi,

such mal hier im Forum nach Screenshot. Da wirst du 100% fündig
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Jpg Screenshot von einem Fenster

  Alt 5. Nov 2005, 20:45
Delphi-Quellcode:
uses [...] jpeg;

[...]

var
  b1,b2:tbitmap;
  j:tjpegimage;
begin
  b1:=tbitmap.Create;
  b1.width:=fensterbreite;
  b1.height:=fensterbreite;
  b1.canvas.handle:=GetWindowDC(Handle des Fensters, normalerweise form1.handle); // Desktop erfassen
  b2:=tbitmap.create;
  b2.width:=b1.width;
  b2.height:=b1.height;
  b2.Canvas.CopyRect(screen.desktoprect,b.Canvas,screen.desktoprect);
  j:=tjpegimage.create;
  j.assign(b2);
  j.savetofile('C:\Screen.jpg');
Michael Enßlin
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Jpg Screenshot von einem Fenster

  Alt 5. Nov 2005, 21:22
Ok danke ich habs hinbekommen und jetzt will ich das bild direkt im Anschluss auf meinen FTP Server laden. Und das Bild ist 17KB groß und es dauert echte 5 Sekunden.. Das kann doch nicht sein oder?? Ohne das Hochladen dauert das ganze nur Millisekunden..
Michael
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 11:42
Mit j.compressionquality kannst du den Komprimierungsfaktor einstellen. 100 = maximale Qualität (=verlustfreie Komprimierung) | 2= maximale Komprimierung (minimale Qualität)
Michael Enßlin
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 12:39
die 5 Sekunden sind durchaus realistisch zum verbinden, uploaden und disconnecten. Wenn du deine anwendung aktiv halten willst, musst du das hochladen wohl in eine thread auslagern.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 13:04
Die Compression habe ich schon auf 20 eingestellt. Und für 15-17KB 5 Sek mit DSL finde ich aber echt zu viel...
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 13:07
Hi,

ich würde beim Programmstart connecten und beim Programmbeenden wieder disconnecten. Vielleicht geht es dann schneller, weil du nicht immer connecten und disconnecten tust.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 13:41
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  IDFTP1.Host := 'ftp.geheim.de';
  IDFTP1.Username := 'Hans';
  IDFTP1.Password := 'kenntkeiner';
  IDFTP1.Passive := true;
  IDFTP1.Connect();
end;
Delphi-Quellcode:
procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
 Loading := true;
end;
Delphi-Quellcode:
procedure TForm1.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  Loading := false;
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if not Loading then LadeDateiHoch;
end;
und disconnectet wird eh wenn man das prog beendet xD
Michael
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Jpg Screenshot von einem Fenster

  Alt 6. Nov 2005, 17:15
Zitat von ichbins:
100 = maximale Qualität (=verlustfreie Komprimierung)
Stimmt so nicht. Auch bei max. Qualität wird das Original bei JPEG verändert. Die Abweichungen sind zwar minimal, und durch Rundungen u.U. nicht mehr im decodierten Bild nachweisbar (eher selten), aber nichtsdestotrotz ist das nicht verlustfrei.
Aber das nur am Rande...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:18 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