Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Webcam]Frames OHNE Panel grabben ?? (https://www.delphipraxis.net/65088-%5Bwebcam%5Dframes-ohne-panel-grabben.html)

mtin 12. Mär 2006 10:27


[Webcam]Frames OHNE Panel grabben ??
 
also, nachdem ich mich jetzt schon ein bisschen damit beschäftigt hab,
kann ich in einem Panel das webcam-bild darstellen und per
Delphi-Quellcode:
SendMessage( handle, WM_CAP_EDIT_COPY, 1, 0 );
Form1.image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
die Bilder in halbwegs akzeptabler geschwindigkeit (praktisch noch live) in ein Bitmap/Image kopieren...
Dafür brauch ich dann aber sowohl das Panel als auch das TImage direkt nebeinander!
Doch wie erreiche ich das jetzt, ohne ein Panel irgendwo auf dem Form zu haben? Also praktisch nur mit irgendeinem Befehl die Frames als Bitmaps von der webcam holen, ohne die ganze Zeit das bild live auf dem Panel anzuschaun? Bzw. einfach live die Bilder verarbeiten und das Ergebnis der Verarbeitung dann anzeigen?
Im Moment muss ich immer das Panel und dann daneben mein TImage haben, obwohl ich lieber z.b. nur mit dem TImage im Vollbildmodus arbeiten würde!

Bei irgendwelchen webcamprogrammen geht das ja auch, dass man das im Hintergrund aufnimmt oder wenns minimiert ist...

wäre für jede Hilfe, die die webcambilder ohne panel o.ä. in ein bitmap pumpt, dankbar!

mtin 12. Mär 2006 13:47

Re: [Webcam]Frames OHNE Panel grabben ??
 
okee, hab das jetzt mit der CallBack-Prozedur probiert, das ist schonmal besser als mit der zwischenablage und ich kann das Panel auch ganz klein machen und das funktioniert trotzdem noch, sobald ich aber das Panel auf Visible:=False stelle, geht es auch nicht mehr...ich will aber nicht dieses verdammte Panel irgendwo sehen!!!!

gibt es da irgendeine Möglichkeit?

flossinger 3. Sep 2006 18:14

Re: [Webcam]Frames OHNE Panel grabben ??
 
Ist recht einfach mit VfW, wenn man sich die Infos darüber mit Google zusammengesucht hat.

So machst du das Capturewindow unsichtbar:
capwinh := capCreateCaptureWindow ( pchar('Capture Window'),
WS_CHILD, 0, 0, videox, videoy, panel1.Handle, 0);

Du wertest die Daten in der callback aus.

Teilst mit, wie die callback heisst:
capSetCallbackOnVideoStream(capwinh,longint(@callb ackvideostream));

Startest:
capCaptureSequenceNoFile(capwinh);

Und alles funktioniert auch im Hintergrund.

der flossinger


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