100分紧急求教了,关于视频截图,在线等候啊,大侠们!!! 我已经在窗体上用一个picturebox1显示了摄像头传来的图像(动态的),如果我点击按钮,如何能够把当前显示的图像拷贝到picturebox2中(静态的一帧就可以)。请问该如何做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你需要通过directx来截获ref:http://www.codeproject.com/cs/media/motion_detection_wc.asp 麻烦指点一下,你给的链接我早就看过,不太明白它的原理。另外,我参照csdn上另一篇文章写了一段,有一个语句如下:Bitmap bmp=(Bitmap)this.picCamera.Image;Bitmap bmp1= new Bitmap(this.picCamera.Width,this.picCamera.Height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);Graphics g=Graphics.FromImage(bmp1);g.DrawImage(bmp,new Rectangle(0,0,this.picCamera.Width,this.picCamera.Height),0,0,this.picCamera.Width,this.picCamera.Height,System.Drawing.GraphicsUnit.Pixel);但是取出来的bmp是空值,g.DrawImage方法执行不了,这是什么原因? 你直接通过graphics是获得不了图像的,因为图像通过directshow展现出来,这层处理不是form做的。 看你实现什么要求了,如果是视频卡,那么可以选择用directx9.0 sdk进行开发,不过需要安装运行环境,也可以用directshow进行开发,directshow在codeproject上,是一个从vc那里转化出来的类库,如果更简单一点的,比如简单的视频捕捉,你可以使用vwp,一个简单的api调用基类库,进行开发 你用directshow吧http://www.codeproject.com/cs/media/directshownet.asp 你可以参考QQ的图像截取,我研究了一下QQ的截取:先截取整个屏幕,并把截取的图片全屏显示出来,然后再在图片上截取想要的图片。我有一段C#相关的代码,需要的话留下邮箱。 kyle315,我已经给您短消息,请查收一下。 Knight94(愚翁) 给的链接足够解决你的问题了找到bin中的camserver.dll,注册成com组件,然后using一下 private CAMSERVERLib.Camera cam = new CAMSERVERLib.CameraClass(); //capture first pic byte[] picture = (byte[])cam.GrabFrame( short.MaxValue ); MemoryStream ms = new MemoryStream( picture ); Bitmap bmp= new Bitmap( ms ); bmp.Save(Application.StartupPath+"\\Wanted\\first"+saveTime); 问题已经解决。参考了下面的文章:http://www.01cn.net/cgi-bin/threaded_show.cgi?tid=2648&h=1&bpg=1&age=0 win7下vs2010如何打包.net2.0框架的程序 “临时验证码” 字符串添加到集合 请问各位谁有远程读取较大的MDB文件经验,我在读取的时候总是超时. 急!!!! .net基础 C# VB.NET XP启动时有个蓝屏,怎么取消掉? 求助啊,socket编程,TCP网络传消息 TcpListener不能接收UDP包。 急急急!关于用C#编写的C/S应用程序的发布问题。 在C#中如何备份Access数据库? 求一简单正则 .net (C#) DATAGRIL 里面按钮加提示 出现错误,不会了,请高手指教
http://www.codeproject.com/cs/media/motion_detection_wc.asp
另外,我参照csdn上另一篇文章写了一段,有一个语句如下:
Bitmap bmp=(Bitmap)this.picCamera.Image;
Bitmap bmp1= new Bitmap(this.picCamera.Width,this.picCamera.Height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics g=Graphics.FromImage(bmp1);
g.DrawImage(bmp,new Rectangle(0,0,this.picCamera.Width,this.picCamera.Height),0,0,this.picCamera.Width,this.picCamera.Height,System.Drawing.GraphicsUnit.Pixel);但是取出来的bmp是空值,g.DrawImage方法执行不了,这是什么原因?
http://www.codeproject.com/cs/media/directshownet.asp
找到bin中的camserver.dll,注册成com组件,然后using一下
private CAMSERVERLib.Camera cam = new CAMSERVERLib.CameraClass();
//capture first pic
byte[] picture = (byte[])cam.GrabFrame( short.MaxValue );
MemoryStream ms = new MemoryStream( picture );
Bitmap bmp= new Bitmap( ms );
bmp.Save(Application.StartupPath+"\\Wanted\\first"+saveTime);
参考了下面的文章:
http://www.01cn.net/cgi-bin/threaded_show.cgi?tid=2648&h=1&bpg=1&age=0