日期:2014-05-18  浏览次数:21083 次

avicap32.dll 截图问题,代码是网上粘过来的,运行的时候没有报错,但是也没有得到预期的结果,请教各位大虾,明天急用~~~
在网上找到两个解决办法:
1、SendMessage(lWndC, 1054, 0, 0);会把图像拷贝到ClipBorad上 
Clipboard.GetDataObject();会把ClipBorad上的图像赋给一个图像变量,可以对这个变量进行操作了

2、 public void GetImage(IntPtr handle, string FileName)
  {
  IntPtr hBmp = Marshal.StringToHGlobalAnsi(FileName);
  showVideo.SendMessage(handle, showVideo.WM_CAP_SAVEDIB,0, hBmp.ToInt32());
  }

以上这两个办法都没能截到图像,不知道错在哪里了,下面是调用到的代码:


-- 这是调用的代码
C# code

//截取图像时的动作
 private void button3_Click(object sender, EventArgs e)
        {
            //第一个方法调用
            cam.SendMessage(panel1.Handle, webcam.showVideo.WM_CAP_SAVEDIB, 0, 0);            
            this.pictureBox1.Image = (Image)(Clipboard.GetDataObject().GetData(DataFormats.Bitmap));
           
            //第二个方法调用
            cam.GetImage(panel1.Handle, @"F:\现场必装工具\1.bmp");
            
        }



------解决方案--------------------
up
------解决方案--------------------
执行SendMessage之后,看看图象有没有复制到剪贴板上(可以打开一个画图程序粘贴一下)。
------解决方案--------------------
画图程序粘贴一下
------解决方案--------------------
探讨
执行SendMessage之后,看看图象有没有复制到剪贴板上(可以打开一个画图程序粘贴一下)。

------解决方案--------------------
顶一下
------解决方案--------------------
楼主怎么解决的?