大家好,正在做个摄像头图像采集的程序,在网上找了些资料 使用AVICAP32.dll中的函数可以顺利进行采集图像,但现在问题是不知道怎么去调节图片显示分辨率,一直默认的是640×480×24b 。我想把这个分辨率调节高点不知道怎么调,忘大侠们指点。万分感谢!
代码如下:
var
  Form1: TForm1;
 const   WM_CAP_START   =   WM_USER;
const   WM_CAP_STOP   =   WM_CAP_START   +   68;
const   WM_CAP_DRIVER_CONNECT   =   WM_CAP_START   +   10;
const   WM_CAP_DRIVER_DISCONNECT   =   WM_CAP_START   +   11;
const   WM_CAP_SAVEDIB   =   WM_CAP_START   +  25;
const   WM_CAP_GRAB_FRAME   =   WM_CAP_START   +   60;
const   WM_CAP_SEQUENCE   =   WM_CAP_START   +   62;
const   WM_CAP_FILE_SET_CAPTURE_FILEA   =   WM_CAP_START   +   20;
const   WM_CAP_SEQUENCE_NOFILE   =WM_CAP_START+     63 ;
const   WM_CAP_SET_OVERLAY   =WM_CAP_START+     51 ;
const   WM_CAP_SET_PREVIEW   =WM_CAP_START+     50 ;
const   WM_CAP_SET_CALLBACK_VIDEOSTREAM   =   WM_CAP_START   +6;
const   WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START   +2;   
const   WM_CAP_SET_CALLBACK_STATUSA=   WM_CAP_START   +3;   
const   WM_CAP_SET_CALLBACK_FRAME=   WM_CAP_START   +5;
const   WM_CAP_SET_SCALE=WM_CAP_START+     53;
const   WM_CAP_SET_PREVIEWRATE=WM_CAP_START+     52;function   capCreateCaptureWindowA(lpszWindowName   :   PCHAR;   dwStyle   :   longint;   x   :   integer;
      y   :   integer;nWidth   :   integer;nHeight   :   integer;ParentWin   :   HWND;   
      nId   :   integer):   HWND;STDCALL   EXTERNAL   'AVICAP32.DLL ';
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);//开始初始化
begin
  hWndC   :=   capCreateCaptureWindowA( 'My   Own   Capture   Window ',WS_CHILD   or   WS_VISIBLE   ,Panel1.Left,Panel1.Top,Panel1.Width,Panel1.Height,Form1.Handle,2);  hWndC   :=   capCreateCaptureWindowA( 'My   Own   Capture   Window ',WS_CHILD   or   WS_VISIBLE   ,Panel1.Left,Panel1.Top,Panel1.Width,Panel1.Height,Form1.Handle,2);

    if   hWndC   <>   0   then
begin
    SendMessage(hWndC,   WM_CAP_SET_CALLBACK_VIDEOSTREAM,   0,   0);
    SendMessage(hWndC,   WM_CAP_SET_CALLBACK_ERROR,   0,   0);
    SendMessage(hWndC,   WM_CAP_SET_CALLBACK_STATUSA,   0,   0);
    SendMessage(hWndC,   WM_CAP_DRIVER_CONNECT,   0,   0);
    SendMessage(hWndC,   WM_CAP_SET_SCALE,   1,   0);
    SendMessage(hWndC,   WM_CAP_SET_PREVIEWRATE,   66,   0);   
    SendMessage(hWndC,   WM_CAP_SET_OVERLAY,   1,   0);
    SendMessage(hWndC,   WM_CAP_SET_PREVIEW,   1,   0);
end;
end;procedure TForm1.Button2Click(Sender: TObject);//图片保存
begin
 if   hWndC   <>   0   then   begin
            SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar( 'test.bmp ')));
  end;
end;