Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Screenshot nach Zeit (https://www.delphipraxis.net/7211-screenshot-nach-zeit.html)

Flo 5. Aug 2003 19:37


Screenshot nach Zeit
 
Hi,
ich hab folgenden Code:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MyBitmap : TBitmap;
begin
     MyBitmap := TBitmap.Create;
     ScreenShot(mybitmap);
     mybitmap.SaveToFile('c:\screenshot.bmp');
     mybitmap.free;
end;
Jetzt möchte ich,dass er jede Sekunde einen Screenshot speichert. Den Timer hab ich schon auf 1Sek. eingestellt. Jetzt möchte ich, dass er den Screnshot so nennt:

nach 1Sek.: screenshot1
nach 2Sek.: screenshot2
und so weiter

Luckie 5. Aug 2003 19:40

Re: Screenshot nach Zeit
 
Nimm eine globale Variable, zähl mit und bilde daraus den Dateinamen.

Flo 5. Aug 2003 19:43

Re: Screenshot nach Zeit
 
wie zähl ich denn da mit :roll:

Luckie 5. Aug 2003 19:43

Re: Screenshot nach Zeit
 
Delphi-Quellcode:
Inc(i);
Zum Beispiel.

Flo 5. Aug 2003 19:45

Re: Screenshot nach Zeit
 
Ähhh...wie bau ich das denn in den Code ein :roll: :roll: :roll: :oops: :oops: :oops:

Luckie 5. Aug 2003 19:47

Re: Screenshot nach Zeit
 
Zu deinem Gunsten schiebe ich das mal auf die Hitze.

- gloable Variable
- in OnTimer hochzählen
- Dateiname rausbilden
- fertig

Flo 5. Aug 2003 19:50

Re: Screenshot nach Zeit
 
Ich komm damit jetzt irgendwie nicht klar.
Ich bekomm das nicht in den Code :x

Luckie 5. Aug 2003 19:52

Re: Screenshot nach Zeit
 
Ohne Kommentar:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MyBitmap : TBitmap;
begin
  Inc(i);
  MyBitmap := TBitmap.Create;
  ScreenShot(mybitmap);
  mybitmap.SaveToFile('c:\screenshot'+IntToStr(i)+'.bmp');
  mybitmap.free;
end;

Flo 5. Aug 2003 19:54

Re: Screenshot nach Zeit
 
Ahaaaaaaaa....hab die ganze Zeit das 'inToStr vergessem :roll:

Danke

Flo 5. Aug 2003 19:56

Re: Screenshot nach Zeit
 
Klappt irgendie nicht :(

Der nennt den die ganze Zeit nur screenshot265....

Luckie 5. Aug 2003 19:57

Re: Screenshot nach Zeit
 
Zitat:

Zitat von Flo
Klappt irgendie nicht :(

Schön. Und was soll ich jetzt mit der Fehlerbeschreibung anfangen?

Luckie 5. Aug 2003 19:58

Re: Screenshot nach Zeit
 
Wo hast du i deklariert?

Flo 5. Aug 2003 19:59

Re: Screenshot nach Zeit
 
So siehts aus

Delphi-Quellcode:
var MyBitmap : TBitmap;
i: integer;
begin
inc(i)  ;
     MyBitmap := TBitmap.Create;
     ScreenShot(mybitmap);

    mybitmap.SaveToFile('c:\screenshot'+inttostr(i)+'.bmp');
     mybitmap.free;

Luckie 5. Aug 2003 20:01

Re: Screenshot nach Zeit
 
Ich sagte global!!!. So wird i jedes mal im OnTimerEreignis mit Schrott neu initialisiert.

Assarbad 5. Aug 2003 20:05

Re: Screenshot nach Zeit
 
Meine kleine Klasse TScreenShotClass bietet die gewünschte Funktionalität mit den Methoden AutoSaveDesktop und AutoSaveWindow(hwnd:HWND).

Wenn du die Unit einbindest, hast du in der Standardkonfiguration sofort eine Instanz SShot, die du ansprechen kannst.

Ist übrigens nonVCL (also ziemlich klein) und bietet auf an die Bilder als PNG zu speichern, wenn die entsprechende DLL im System oder im Programmverzeichnis existiert.

Flo 5. Aug 2003 20:06

Re: Screenshot nach Zeit
 
Hab ich wohl überlesen. Jetzt klappts aber



´Danke für die Mühen

flomei 5. Aug 2003 20:18

Re: Screenshot nach Zeit
 
Mal ne Frage!
Kann man das auch mit JPG´s machen? Wenn ich statt
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MyBitmap : TBitmap;
begin
  Inc(i);
  MyBitmap := TBitmap.Create;
  ScreenShot(mybitmap);
  mybitmap.SaveToFile('c:\screenshot'+IntToStr(i)+'.bmp');
  mybitmap.free;
end;
einfach
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MyJPEG : TJPEG;
begin
  Inc(i);
  MyJPEG := TJPEG.Create;
  ScreenShot(myJPEG);
  myJPEG.SaveToFile('c:\screenshot'+IntToStr(i)+'.jpg');
  myJPEG.free;
end;
schreibe und die unit JPEG (heisst die so) einbinde, klappt das dann wohl? JPEG´s sind ja noch kleiner. Oder muss ich ne Bitmap machen, die in ne JPG Datei konvertieren und die dann speichern? Das würde ja viel länger dauern.

MfG Florian :hi:

Luckie 5. Aug 2003 20:20

Re: Screenshot nach Zeit
 
Konvertier das Bitmap vor dem Speichern nach JPG.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 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