如何更改(摄像头取像)动态图像的默认高宽(默认是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  

解决方案 »

  1.   

    我现在是改变不了厂家设置的默认大小,从摄像头取到picture上是320*240的高宽,但我要设置成640*480的高宽。
      

  2.   

    我解决了一个问题,就是一楼的代码我能实现了。因为我没有打开分辩率设置,但是我内存得图片大小还是原始大小,没有改变,就是我如何改变dim m_bmpinfo as BITMAPINFO结构里的m_bmpinfo.bmiHeader.biwidth宽和m_bmpinfo.bmiHeader.biheight高呢????我是按下面这样来改变格式,可是还是没有改变啊??为什么???    SendMessage ihwnd, WM_CAP_GET_VIDEOFORMAT, dword, VarPtr(m_bmpinfo)  '获得当前的视频格式
        m_bmpinfo.bmiHeader.biwidth = 640
        m_bmpinfo.bmiHeader.biheight = 480
        SendMessage oldPic.hWnd, WM_CAP_SET_VIDEOFORMAT, dword, VarPtr(m_bmpinfo)  '发送当前的视频格式
      

  3.   

    bmi.biSizeImage = 57600也要设置
    具体这个数是多少,你要打开一个摄像头手动调到你需要的大小
    然后获取这个值
      

  4.   

    to:VirtualDesktop(吴滂:欢迎到我的Blog转转 ^_^) 
      谢谢,你说的这个bmi.biSizeImage在信息头里设置是不太重要的,在信息头里最重要的是高宽设置好了图像就能正常显示,而biSizeImage的大小是无关紧要的。因为我测试了很多次,然后发现了这个现像。
    谢谢大家。问题以解决,我的代码设置是没有错,只是放的位置不应该在回调函数里。应该放在连接摄像头的后面。呵呵。