VideoCap问题.高手请进.(200分)

  • 主题发起人 主题发起人 jingtao
  • 开始时间 开始时间
J

jingtao

Unregistered / Unconfirmed
GUEST, unregistred user!
见VFW单元
function capSetVideoFormat(hwnd:THandle;
s:LongInt;
wSize:Word):LongInt;
begin

Result := SendMessage(hwnd, WM_CAP_SET_VIDEOFORMAT, wSize, s);
end;

比如说我想在程序中指定其分辨率为160X120,象素为I420.应该怎么做?
我不想用
function capDlgVideoFormat(hwnd:THandle):LongInt;
begin

Result := SendMessage(hwnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0);
end;

弹出让用户选择,而是自己在程序中设置.
 
下面函数总是返回假,为什么?
function SetMyFormat:Boolean;
var
FInInfo: TBitmapInfo;
begin

Result:=False;
if ghCapWnd = 0 then
exit;
FillChar(FInInfo.bmiHeader, SizeOf(TBitmapInfoHeader), 0);
with FInInfo.bmiHeaderdo

begin

biBitCount := 24;
biCompression := BI_RGB;
biHeight :=120;
biPlanes := 1;
biSize := SizeOf(TBitmapInfoHeader);
biWidth := 160;
end;

Result:=Boolean(capSetVideoFormat(ghCapWnd, (@FInInfo), SizeOf(FInInfo)));
end;
 
问题已经解决
各位进来说几句,好散分吧.
 
我想和你聊聊
你是怎样把CAP到图象存在内存里,
不存成文件,有什么好方案?
 
有个回调函数可以实现的啊
 
借宝地问一下:
我的数码相机(摄像头)有驱动,如何捕获?给个思路。
我想每分钟将图像保存到一个文件夹中。
 
怎么解决的?
 
to jingtao:
1、回调函数是什么?
2、你提的在程序中设定分辨率的问题是如何解决的,我也在想这个问题,
能否帮忙解释一下呢?

谢谢了,jingtao.
 
to t163t163:
capCaptureSequenceNoFile 捕捉后不放入文件,直接放入缓冲区,
在回调函数中读取该缓冲区。
回调函数:capSetCallbackOnVideoStream
相关内容参见 Windows 帮助或 MSDN


jingtao,你那个问题怎么解决的,说啊,说不定我以后会遇上呢:)
 
哈哈
好简单的
就是直接在缓冲区里面读取数据后改变大小即可.
我也是第一次做VFW,大家多多指教~
每人50大饼
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
534
import
I
后退
顶部