![]() |
Webcam - Funktion für Einzelbild?
Hallo,
ich möchte gerne in einem Programm das Bild einer Webcam benutzen. Ich habe auch schon eine Weile gesucht und stoße früher oder später auf diesen Thread: ![]() Allerdings muss ich gestehen, dass ich da überhaupt nicht durchblicke und nicht wirklich verstehe, wie das da von statten geht. Mein Ziel ist eine Funktion à la
Delphi-Quellcode:
Das wäre für mich optimal, denn so könnte man am einfachsten mit den Bildern weiterarbeiten.
function getPicture: TBitmap
Nur leider verstehe ich im Moment noch absolut nicht, wie ich den Code von oben benutzen muss, um so etwas umzusetzen. Ich hoffe, ihr könnt mir helfen :oops: Danke schonmal im voraus |
Re: Webcam - schon wieder...
könntest du bitte dem Beitrag einen aussagekräftigen Titel geben? ("schon wieder..." sagt nichts über dein Problem aus)
|
Re: Webcam - schon wieder...
Aus einem etwas älteren Projekt von mir:
Delphi-Quellcode:
Ist aber 1. nicht deine Methode und 2. mit dem Zwischenspeicher nicht ganz glücklich, da gibt es sicher noch bessere Methoden.
var
VHandle: THandle; const WM_CAP_SET_VIDEOFORMAT = WM_USER + 42; WM_CAP_DRIVER_CONNECT = WM_USER + 10; WM_CAP_EDIT_COPY = WM_USER + 30; WM_CAP_SET_PREVIEW = WM_USER + 50; WM_CAP_SET_OVERLAY = WM_USER + 51; WM_CAP_SET_PREVIEWRATE = WM_USER + 52; WM_CAP_DLG_VIDEODISPLAY = WM_USER + 43; [..] function capCreateCaptureWindow(lpszWindowName: LPCSTR; dwStyle: DWORD; x, y, nWidth, nHeight: integer; hwndParent: HWND; nID: integer): HWND; stdcall; external 'AVICAP32.DLL' name 'capCreateCaptureWindowA'; procedure StartWebcam; begin SendMessage(Vhandle, WM_CAP_SET_VIDEOFORMAT,0,0); Vhandle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0, 0, 320, 240, Form1.Panel1.Handle, 1); //Hier ein geeignetes Anzeigefenster und die Abmaßungen SendMessage(Vhandle, WM_CAP_DRIVER_CONNECT, 0, 0); SendMessage(Vhandle, WM_CAP_SET_PREVIEWRATE, 30, 0); sendMessage(Vhandle, WM_CAP_SET_OVERLAY, 1, 0); SendMessage(Vhandle, wm_cap_set_preview, 1, 0); end; procedure GetPicture(var Bitmap: TBitmap); begin SendMessage(Vhandle, WM_CAP_EDIT_COPY, 1, 0 ); Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); end; |
Re: Webcam - Funktion für Einzelbild?
Und wie soll der Code in Button1 lauten, damit ein Bild von Webcam auf Form angezeigt wird?
|
Re: Webcam - Funktion für Einzelbild?
Irgendwo am Anfang die funktion "StartWebcam" aufrufen und dann GetPicture um ein Bild zu machen
|
Re: Webcam - Funktion für Einzelbild?
Hallo,
Wieso die funktion "StartWebcam" ? Und was ist mit dem Procedure GetPicture
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); begin Bitmap1.Picture:= ??? end; --------------- |
Re: Webcam - Funktion für Einzelbild?
@taktaky,
Entschuldige, aber du solltest dich wirklich mal in Delphi einarbeiten. Fange mit leichten Sachen an die du verstehst oder zu Verstehen lernst. Es ist nicht gerade die feine Art bei jeden Pop** eine Frage ins Forum zu stellen was eigendlich Grundwissen sein sollte. Was ist eine Funktion was eine Procedure, was sind Aufrufe oder Befehle und was ist ein Compieler. Was ist ein Programm etc. Ein wenig Eigeninitiative vermisse ich bei einigen Fragen, so gibt es in der Freewaresparte und oder in der Opensourceabteilung einen kompletten Code als fertiges Programm zum Auslesen von Webcambildern. Das Teil speichert auch Bilder. Zugegeben das Programm ist kein leichter Stoff aber est reicht um ein wenig darin herumzuexperimenieren. Nicht sauer sein, ich habe heute schlecht geschlafen. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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