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。
效果:破摄像头不好,把我照那么难看 回头就换电脑....
C# 实现真正的WebCamera【原创】相关推荐
- 谢欣伦 - OpenDev原创例程 - 网络摄像机WebCamera
Win7没有预装摄像头软件,打开摄像头通常需要第三方软件来完成.第三方软件,好的要收费,免费的又没几款,其中功能完整的寥寥可数.正好我在做一个数字摄像头视频捕获的功能,经过两周的整理优化,我做了一个简 ...
- U3D实现WebCamera显示
Unity3D 原生WebCamera实现摄像头显示 原创 2017年02月15日 12:03:22 查看全文 http://www.taodudu.cc/news/show-3138719.html ...
- 【原创】Cookie应用(二)
Cookie的作用很大,在很多技术方案中都有应用.它也是Forms身份认证模式所使用的一门技术点. 今天我就说一说它在Forms身份认证模式中都起到什么作用. (一)理论知识 ASP.NET 使用身份 ...
- 基恩士上位机链路通讯_【原创分享】ABB机器人与视觉控制器的通讯
在一些工厂里你是否经常看到下图这样的一些自动化设备,他的里边有用到机器人与相机通讯完成物料位置的检测与物料抓放等功能,那么恭喜你,几分钟时间阅读完这篇文章你就懂了. 小编花了不少时间收集整理资料,下面 ...
- .net下的富文本编辑器FCKeditor的配置方法(图)原创
.net下的富文本编辑器FCKeditor的配置方法(图)原创 FCKeditor是一款开源的富文本编辑器,几乎支持所有流行的Web开发语言,版本稳定,用户多,可配置性好. 以前做Java和php的时 ...
- 原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军
原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军 02972018-04-29 16:15:27 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军 齐鲁晚报 2018年0 ...
- [原创]Java性能优化权威指南读书思维导图
[原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt Binu John 译者: 柳飞 ...
- Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站
Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站
- [原创]Android Monkey 在线日志分析工具开发
[原创]Android Monkey 在线日志分析工具开发 在移动App测试过程中,Monkey测试是我们发现潜在问题的一种非常有效手段,但是Android原生的Monkey有其天然的不足,数据不能有 ...
最新文章
- LCA 在线倍增法 求最近公共祖先
- 更新至Android Studio4.1后发现as打不开的解决方案
- 使用tf.print()打印tensor内容
- linux挂载wondiws目录,linux cifs自动挂载windows硬盘或文件夹
- JVM学习笔记之-方法区,栈、堆、方法区的交互关系,方法区的理解,设置方法区大小与OOM,方法区的内部结构,方法区使用举例
- 博客系统知多少:揭秘那些不为人知的学问(二)
- JSTL(Java 标准标签库)
- JavaScript 运行机制详解(理解同步、异步和事件循环)
- CRT工具连接Linux操作手册
- 如何更改mssq,SSAS l代理运行身份验证
- Delphi XE7 下载 安装序列号 破解
- thawte代码签名证书,comodo软件签名证书,symantec签名证书,digicert微软签名证书的区别
- 尚硅谷Java入门视频教程第五章——面向对象编程(中)
- PTA 六度空间 思路分析及代码解析
- 用免费新浪云sea搭建个人云服务器
- Win8系统如何设置时间自动同步方法 电脑系统时间不能同步怎么设置
- [实用电脑技术]Google Chrome谷歌浏览器下载完整离线安装版本
- GitLab-Runner 从安装到配置到入门
- MySQL服务中断后重启失败及解决办法(个例)
- Mysql中外键作用以及Navicat建立外键失败总结
热门文章
- http://www.cnblogs.com/bluestorm/archive/2012/03/02/2377615.html
- Unity 之 接入腾讯Bugly简述【Android端】
- 前端学习 之 JavaScript基础
- 计算机房英语单词,计算机与网络英语词汇(O1)
- 嵌入式行业的发展前景?
- apt-fast 使用
- 计算机考研报录比10比1,2020考研报录比高达10:1!2021择校应避开哪些重灾区?
- 网址(url),ip地址,域名,dns,hosts,服务器
- Python实现微信支付(三种方式)
- 用沙盘多开流量精灵刷Linkbucks