在capCreateCaptureWindowA中已经将视频可视大小设为了176x144,但是用SendMessage hCapWnd, WM_CAP_FILE_SAVEDIB, 0&, FilePath进行视频抓图时,得到的图片大小在不同的机器上会有不同,在我的机器上抓到的图是176X144的,在室友的机抓到的图却是320X240的.请问控制抓到的图像的大小?

解决方案 »

  1.   

    Dib是设备相关位图,不同的设备就不一样了。
    可以用:
     
       capEditCopy = SendMessage(lwnd, WM_CAP_EDIT_COPY, 0, 0)这样你复制的图就是当初你  capCreateCaptureWindowA 的窗口大小了,
    然后再用picturebox得到剪贴版数据就可以了。
      

  2.   

    TO:DooDu(I want,I can.) 
    谢了,
    但capEditCopy = SendMessage(lwnd, WM_CAP_EDIT_COPY, 0, 0)还是会出现其它尺寸的图片文件的
      

  3.   

    用其它方法解决了这个问题,添加一个PICTUREBOX做BUFFER,用bitblt将视频窗口的内容转移到BUFFER,然后再对BUFFER进行SAVEPICTURE就可以了.