C# 实现真正的WebCamera【原创】

近期,做了个小软件,需要在Web页面调用本地摄像头,花了4个小时实现了(9个月没写程序了有点生疏了  ),现分享给大家,希望有人能够用的到。 
   在网上也搜索过好多的资料,基本上都是在WinForm实现的摄像头调用,在页面中调用的基本没看见过。
   思路:在页面中调用ActiveX控件,实现WebCamera(你懂的)。
       
   下面具体步骤,写的有点太详细(有
点过分了,不要喷我    )。

      一、制作 
ActiveX 控件

第一步,用VS2010创建一个项目,Windows窗体控件库,并命名为WebCamera
      图片 
       更改“项目属性-应用程序-程序集信息”设置,勾选“使程序集 COM 可见”:
   图片

       更改“项目属性-生成”设置,勾选“为 COM Interop 注册”(注意,此处如果实在debug状态下修改的,那在调到release状态下还需要再设置一次):
     图片
   
   第二步,
修改AssemblyInfo.cs文件,添加[assembly: AllowPartiallyTrustedCallers()]项(需要引用System.Security名称空间): 
   图片
    
 
  第三步,添加用户控件Camera,并设计界面,放上一个panel用来显示摄像头画面。
   
图片  
  
   
第四步,为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值): 

图片

 
   第四步,为控件类添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用 工具-创建GUID 菜单创建一个GUID): 
   图片

   
第五步,在控件类中继承并实现该接口: 
   图片 

第六步,添加视频控制类PCCamera.cs (该类主要功能是负责控制摄像头)。   

    图片

       这样,视频ActiveX控件就开发完成了。 
   第七步,
使用Visual Studio 2010的安装项目进行部署。这与普通的Windows Form应用程序的部署几乎一样,只有一个地方需要注意,将前面创建的用户控件项目作为主输出项目,并设置其Register属性为vsdrpCOM,如下图所示:  
   图片
   图片
   
   将项目生成,在路径下找到Release目录,下面有两个文件,这就是下面我们将要使用的控件。
   图片 

   二、页面中调用控件,实现  WebCamera
    第一步,
将我们做的视频控件进行安装。
      
       第二步,
在页面中添加object标签对 ,调用我们的视频控件,即实现了我们想要的WebCamera。  
       图片


      果:摄像头不好,把我照那么难看 回头就换电脑....
      
图片
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值