WPF中使用Aforge控件
在近期项目中使用其他摄像头都无法触发摄像头,在再三考虑后使用Aforge的winform控件,结果可以显示摄像头画面。在最后换了个新的摄像头,WPFMediaKit控件可以显示画面,当时心态就!!!
需要的配置文件:
AForge.Controls.dll
AForge.Video.dll
AForge.Video.DirectShow.dll
前端调用:
<Windowxmlns:aforge ="clr-namespace:AForge.Controls;assembly=AForge.Controls"
>
<Grid x:Name="cameraPhoto" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" ><!--调用winform中的Aforge视频控件,引用wif--><wfi:WindowsFormsHost Name="videoEle" Width="960" Height="850" Margin="170,5,-216,5"><aforge:VideoSourcePlayer x:Name="videoSourcePlayer"></aforge:VideoSourcePlayer></wfi:WindowsFormsHost>
</Grid>
</Window>
后端调用:
/// <summary>/// 摄像头所需对象/// </summary>VideoCaptureDevice videoDevice;FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);private void Window_Loaded(object sender, RoutedEventArgs e){if (videoDevices.Count > 0){//摄像头videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);videoDevice.VideoResolution = videoDevice.VideoCapabilities[0]; //设置分辨率 不设置此属性,程序会崩videoSourcePlayer.VideoSource = videoDevice;videoSourcePlayer.NewFrame += VideoSourcePlayer_NewFrame;videoSourcePlayer.Start();}}/// <summary>/// 画面水平翻转(水平镜像)/// </summary>/// <param name="sender"></param>/// <param name="image"></param>private void VideoSourcePlayer_NewFrame(object sender, ref Bitmap image){if (image != null){RotateFlipType pType = RotateFlipType.RotateNoneFlipX;//水平镜像//pType = RotateFlipType.Rotate90FlipNone; //画面旋转90°// 实时按角度绘制image.RotateFlip(pType);}}/// <summary>/// 开启Aforge摄像头控件,定时器开启/// </summary>private void StartAforge(){videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);videoDevice.VideoResolution = videoDevice.VideoCapabilities[0]; //设置分辨率 不设置此属性,程序会崩videoSourcePlayer.VideoSource = videoDevice;videoSourcePlayer.Start();shitimer.Start();}
WPF中使用Aforge控件相关推荐
- 在WPF中使用WinForm控件方法
在WPF中使用WinForm控件方法 原文:在WPF中使用WinForm控件方法 1. 首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,Syste ...
- 如何在wpf中使用winform控件或者winform的自定义控件
前言 在wpf中使用winform控件或者winform的自定义控件 一.添加引用 WindowsFormsIntegration.dll System.Windows.Forms.dll 提示:这两 ...
- 如何在WPF中使用Winform控件
要在WPF中使用WInform组件,必须将WInform组件放在宿主WindowsFormsHost中. WindowsFormsHost是WPF的一个控件,它允许在WPF应用程序中托管Windows ...
- 如何在WPF中调用Winform控件
功能实现主要分三步: 1.添加两个引用:WindowsFormsIntegration.dll (负责整合WPF和Windows).System.Windows.Forms. 2.在 XAML文件中添 ...
- WPF中使用Winform控件
在项目中遇到使用WPF做上位机,引用Winform控件,特此做一下总结: 1.在设计界面添加: xmlns:wf="clr-namespace:System.Windows.Forms;as ...
- WPF中使用浏览器控件WebBrowser
设置使用IE的版本 public static class Extensions{#region 设置WebBroswer 使用IE版本public static void SetWebBrowser ...
- 【柏拉图】在WPF中利用DevExpress控件进行柏拉图展示
dx控件版本为15.2 因为17.2在win7系统中可能存在报错 有知道原因的大佬烦请告知一下 <Grid Grid.Column="1"><dxc:ChartC ...
- 如何在WPF中调用C#控件库(HexEdit)
1 编写一个Hex Edit控件,使用VS2010建立一个类控件库,分别增加两个类文件,一个命名为HexEdit.cs, 一个命名为TextEditControl.cs,具体内容如下所示: 1)Hex ...
- WPF中使用InteractiveDataDisplay控件画图
在网址GitHub下载InteractiveDataDisplay 1 SyncGraphsSample <Window x:Class="SyncGraphsSample.MainW ...
- WPF中得到一个控件相对其他控件的坐标
加入想得到按钮btnTest左上角相对于主窗体winTest的坐标,可以用如下方法: btnTest.TranslatePoint(new Point(0, 0), winTest) 这个方法返回一个 ...
最新文章
- 自定义控件:等比例显示控件RatioLayout
- 面试题: Vue中的 computed 和 watch的区别
- 五年五件事,助我踏上寻梦路-追梦五年
- 小程序获取设备信息以及实现短信验证码登录
- npm install 报错 :stack Error: Can't find Python executable python
- 【RK3399Pro学习笔记】五、ROS与USB摄像头
- 领诵员冯琳最新消息!保研复旦、主持卫视跨年晚会
- cs精英游戏python代码_python面向对象-cs游戏示例
- sql azure 语法_Azure SQL Server自动故障转移组
- Minecraft InputFix
- EvnetTimeWindow API
- linux 系统tty、pty和pts 的概念及区别
- 如何在camera 驱动中配置HDR的曝光模块
- MFC AlphaBlend 函数
- 【SQL面试】求出各科成绩前三名的学生和成绩
- 大数据开发需要学习哪些编程语言
- OpenCV-细化算法(thinning algorithm)算法详解——提取二值图的骨架
- win7下LInux虚拟机搭建
- 几个炫酷的3D旋转动态效果(附代码)
- [Unity]Shader利用Geometry处理实现描边效果
热门文章
- 淘宝的安全登录怎么做的
- linux系统用虚拟光驱装win7,用虚拟光驱加载win7或者xp iso镜像文件安装系统的图解步骤...
- HSQLDB 安装与使用
- 展视互动签约新华网 创在线教育新蓝图
- 百度网盘怎么登录百度账号?
- 元宇宙8大创业方向:虚拟偶像、数字孪生…
- 【数值计算之二】数值积分之牛顿——科斯特公式:梯形、辛普森、辛普森3/8和布尔 高斯积分公式:勒让德、切比雪夫、拉盖尔和埃尔米特
- 迅雷精简版 for Mac(迅雷下载器)v4.1.2中文版
- C语言strcmp函数使用及模拟
- 【通信协议】IIC通信协议详解