Einzelnen Beitrag anzeigen

taktaky
(Gast)

n/a Beiträge
 
#1

Bild aus Webcam, bekomme ich Schwarz!

  Alt 18. Sep 2007, 00:40
Hallo,

endlich habe ich einen Code, der ein Bild aus Webcam auf Form holt, gefunden.
ich weiß nicht, warum das Bild beim Capture schwarz erhalte!
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  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;

implementation

{$R *.dfm}

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

procedure TForm1.Button1Click(Sender: TObject);
var handle:THandle;
begin
handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,
0, 320, 240, 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;
end.

end.
Wo liegt das Problem? ich verwende Microsoft Webcam
so sieht es aus, wenn ich auf das Button anklicke:
(sehe Anhang)

Ich möchte nur ein Bild holen und nicht Live Kamera auf das Form.


Gruß


-----------
Miniaturansicht angehängter Grafiken
webcam1_177.jpg  
  Mit Zitat antworten Zitat