使用C#操作摄像头
2024-08-17
86
使用C#操作摄像头,主要有两种方法:
使用Windows.Media.Capture库 使用第三方组件,如AForge使用Windows.Media.Capture库
Windows.Media.Capture库是Windows 10中提供的官方摄像头操作库。使用该库,可以直接访问摄像头设备的所有功能,包括拍照、录像、预览等。
使用Windows.Media.Capture库操作摄像头的步骤如下:
获取摄像头设备列表
// 获取摄像头设备管理器
var cameraManager = Windows.Media.Devices.MediaDeviceManager.GetDefault();
// 获取摄像头设备列表
var cameras = cameraManager.GetCameras();
打开摄像头
// 获取要打开的摄像头
var camera = cameras.FirstOrDefault();
// 打开摄像头
camera.Open();
预览摄像头
// 获取预览视图
var preview = camera.GetPreviewView();
// 将预览视图添加到窗体
this.Controls.Add(preview);
拍照
// 创建拍照请求
var captureRequest = camera.CreateCaptureRequest();
// 设置拍照参数
captureRequest.TrySetPreviewFramerateRange(new Range<int>(15, 30));
// 拍照
camera.Capture(captureRequest);
以下是一个使用Windows.Media.Capture库操作摄像头的示例代码:
using System;
using System.Windows.Forms;
using Windows.Media.Devices;
namespace CameraSample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
// 获取摄像头设备列表
var cameras = CameraDeviceManager.GetDefault().GetCameras();
// 获取要打开的摄像头
var camera = cameras.FirstOrDefault();
// 打开摄像头
camera.Open();
// 获取预览视图
var preview = camera.GetPreviewView();
// 将预览视图添加到窗体
this.Controls.Add(preview);
}
private void Button2_Click(object sender, EventArgs e)
{
// 创建拍照请求
var captureRequest = camera.CreateCaptureRequest();
// 设置拍照参数
captureRequest.TrySetPreviewFramerateRange(new Range<int>(15, 30));
// 拍照
camera.Capture(captureRequest);
}
}
}
运行该程序,点击“打开摄像头”按钮,将打开摄像头预览。点击“拍照”按钮,将拍摄一张照片。
更新于:5个月前赞一波!2
相关文章
- 【说站】mysql有哪些数据操作
- 【说站】python中有哪些比较操作
- .NET C# 使用Hook钩子实现全局监听键盘和鼠标
- 【说站】python集合的并集操作
- .NET C#连接FTP实现文件上传下载
- C#使用 Attribute 实现 AOP 功能
- 【说站】python in操作符是什么
- 【说站】python中capitalize的三种转换操作
- C#中的线程安全的集合ConcurrentQueue使用示例
- .NET C#中的Func、Predicate和Expression用法详解
- 【说站】java interrupt()打断阻塞的操作
- 【说站】python序列操作的整理
- 【说站】python列表操作符有哪些
- C#13新特性 使用System.Threading.Lock简化线程同步
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- 【说站】Python测试前置操作的方法
- JavaScript中字典的常用操作
- 【说站】python zipfile模块的文件操作
- 【说站】python shutil模块如何操作文件
文章评论
评论问答