![]() |
Problem mit Speichern von Bild
Hi.
Habe folgendes Problem. Ich habe eine Funktion mit einer Webcam. Diese lädt die Webcam Bilder in ein TImage. Jetzt wollte ich dieses TImage per Timer jede Sekunde speichern lassen. Folgender Code:
Delphi-Quellcode:
Er speichert mir zwar eine Datei, allerdings ist diese leer.
procedure GetCamPictures;
var handle:THandle; begin handle := capCreateCaptureWindow( PChar('Webcam'), WS_CHILD or WS_VISIBLE, 0, 0, 300, 300, Form1.Image1.Picture.Bitmap.Handle, 0); SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0); SendMessage(handle, WM_CAP_SET_PREVIEWRATE, 30, 0); sendMessage(handle, WM_CAP_SET_OVERLAY, 1, 0); SendMessage(handle, wm_cap_set_preview, 1, 0); end; procedure TForm1.FormCreate(Sender: TObject); begin GetCamPictures; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Form1.Image1.Picture.Bitmap.SaveToFile('C:\test.bmp'); end; Kann mir jemand helfen es richtig zu machen? MfG Flips |
Re: Problem mit Speichern von Bild
Hi,
Du musst ein Panel verwenden.
Delphi-Quellcode:
handle := capCreateCaptureWindow( PChar('Webcam'),
WS_CHILD or WS_VISIBLE, 0, 0, 300, 300, Form1.Image1.Picture.Bitmap.Handle, 0);
Delphi-Quellcode:
Video Capture ? Forum ? Suche ? :gruebel:
handle := capCreateCaptureWindow('Webcam',
WS_CHILD or WS_VISIBLE, 0, 0, 300, 300, Form1.Panel1.Handle, 0); Guckst Du hier: ![]() MfG. |
Re: Problem mit Speichern von Bild
hatt ich ja am anfang, nur das bild von einem Panel kann man schlecht abspeichern.
Ich kann auch es Handle von Form1 hohlen, aber mir gehts ja darum das ich bestimmte Frames des Webcamvideos speichern kann. aber da kommen irgendwie immer nur leere bitmaps raus: test.bmp --- 0kb |
Re: Problem mit Speichern von Bild
Zitat:
|
Re: Problem mit Speichern von Bild
Zitat:
Ich meine selbst wenn ich als Anzeige kein Panel sondern ein Image nehme und das Handle wie folgt mache - Image1.Picture.Bitmap.Handle - und dann später per Timer Image1.Picture.Bitmap.SaveToFile('Bild.bmp'); mache dann klappt das nicht. |
Re: Problem mit Speichern von Bild
Liste der Anhänge anzeigen (Anzahl: 2)
So, hab Dir mal ein Demo gemacht, kannste abgucken was Du brauchst.
(eh ich das hier noch mal eintippe mit copy & paste) :mrgreen:
Für Schreibfehler ist der Erfinder der Rechtschreibung verantwortlich und nich ich (habe manchmal meine eigene)!!! :zwinker: Man kann es sicherlich auch anders machen aber... MfG. |
Re: Problem mit Speichern von Bild
DANKE genau das wollte ich :thumb: :thumb: :thumb:
Un ich habs ned rausbekommen :wall: :dancer2: |
Re: Problem mit Speichern von Bild
Moin moin,
Zitat:
(Jedenfalls wenn es ums speichern eines Frames geht. Im Beispielsoucre wird nur die Zeichenfläche vom Videopanel kopiert, die aber bei verdecktem/minimiertem Fenster nicht aktualisiert wird. Somit erhälst du nur Ausschnitte vom aktuellen Screen.) einfacher ginge es so:
Delphi-Quellcode:
//..
// SendMessage(capHandle, WM_CAP_FILE_SAVEDIB, 0, LPARAM(PChar(Path + Format('Capture-%0.4d.bmp', [FileCounter])))); capFileSaveDIB(capHandle, PChar(Path + Format('Capture-%0.4d.bmp', [FileCounter]))); //.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 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