在网上找到两个解决办法:
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());
}以上这两个办法都没能截到图像,不知道错在哪里了,下面是调用到的代码:
-- 这是调用的代码//截取图像时的动作
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");
}
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());
}以上这两个办法都没能截到图像,不知道错在哪里了,下面是调用到的代码:
-- 这是调用的代码//截取图像时的动作
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");
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货