Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

eine Kamera mit dem Programm verbinden

  Alt 18. Nov 2008, 06:51
Hallo an alle,

habe folgendes Problem: Muss eine Kamera "Edmund Optics 5012C" in meinem Programm integrieren. Leider liefert die Firma nur die DLL und Beispielprogramme in VB und C++. Bin gerade schon dabei die C++Beispiele zu analysieren aber leider gibt es da Probleme bei der wahl der äquivalenten Variablen in Delphi. Vieleicht hat ja jemand schonmal damit gearbeitet und kann mir vieleicht einen Tip geben.
Hab hier auch schon ein Programmcode gefunden, der anscheinend für WebCams geeignet ist, welcher allerdings bei meinem Problem nicht weiterhelfen konnte.

Hier die Programm Code für euch nochmal

Delphi-Quellcode:

const
  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;

function capCreateCaptureWindow(lpszWindowName: LPCSTR;
  dwStyle: DWORD;
  x, y,
  nWidth,
  nHeight: integer;
  hwndParent: HWND;
  nID: integer): HWND; stdcall;
  external 'AVICAP32.DLLname 'capCreateCaptureWindowA';

procedure TForm1.LaberLaber; //halt irgendne Prozedur, ich habs im Formcreate, damit ich gleich was seh ^^
var handle:THandle;
begin
  handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,
  0, 640, 480, Panel1.Handle, 1); //Wie du siehst, brauchst du ein Panel in diesem Beispiel ;-)
  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;
Einige werden diese Code kennen, denn sie waren schon in einem anderen Beitrag und stammen nicht von mir.
Kann mir vieleicht jemand sagen, ob es ein Programm gibt, mit dem man vieleicht die Funktionen der DLL auslesen kann oder ob es generelle Codes gibt, mit denen man das Kamerabild von der Kamera, welche über USB angeschlossen ist, in das eigene Projekt überführen kann.

Vielen Dank
BAMatze
  Mit Zitat antworten Zitat