如何更改(摄像头取像)动态图像的默认高宽(默认是320*240)啊。我这么设置可是没有效果。。
我这样写代码,可是没有更改设置。'下面这些我放在状态回调函数里的。
'info是个CapStatus结构
SendMessage ihwnd, WM_CAP_GET_STATUS, Len(info), VarPtr(info)
info.uiImageWidth = 640
info.uiImageHeight = 480
SetWindowPos ihwnd, HWND_BOTTOM, 0, 0, _
info.uiImageWidth, _
info.uiImageHeight, _
SWP_NOMOVE Or SWP_NOZORDER
我这样写代码,可是没有更改设置。'下面这些我放在状态回调函数里的。
'info是个CapStatus结构
SendMessage ihwnd, WM_CAP_GET_STATUS, Len(info), VarPtr(info)
info.uiImageWidth = 640
info.uiImageHeight = 480
SetWindowPos ihwnd, HWND_BOTTOM, 0, 0, _
info.uiImageWidth, _
info.uiImageHeight, _
SWP_NOMOVE Or SWP_NOZORDER
m_bmpinfo.bmiHeader.biwidth = 640
m_bmpinfo.bmiHeader.biheight = 480
SendMessage oldPic.hWnd, WM_CAP_SET_VIDEOFORMAT, dword, VarPtr(m_bmpinfo) '发送当前的视频格式
具体这个数是多少,你要打开一个摄像头手动调到你需要的大小
然后获取这个值
谢谢,你说的这个bmi.biSizeImage在信息头里设置是不太重要的,在信息头里最重要的是高宽设置好了图像就能正常显示,而biSizeImage的大小是无关紧要的。因为我测试了很多次,然后发现了这个现像。
谢谢大家。问题以解决,我的代码设置是没有错,只是放的位置不应该在回调函数里。应该放在连接摄像头的后面。呵呵。