- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
13小时前关门了。
此帖子在12小时前编辑并提交审查。
Improve this question
我想在Windows窗体或WPF应用程序中使用MediaCapture,但显然它只在UWP应用程序中可用。我们如何在WPF或Windows窗体应用程序中使用它?关于这一点有很多问题,但没有一个明确解决这个问题。
13小时前关门了。
此帖子在12小时前编辑并提交审查。
Improve this question
我想在Windows窗体或WPF应用程序中使用MediaCapture,但显然它只在UWP应用程序中可用。我们如何在WPF或Windows窗体应用程序中使用它?关于这一点有很多问题,但没有一个明确解决这个问题。
1条答案
按热度按时间6tdlim6h1#
是的,您可以在WinForms或WPF应用程序中使用MediaCapture API。为此,您需要设置项目以针对正确的Windows版本:
我已经分享了.NET 6和.NET Framework 4.8的项目设置和代码示例。要了解更多信息,您可以查看Call Windows Runtime APIs in desktop apps
下载或复制示例
使用MediaCapture捕获图像- WinForms .NET 6
1.创建WinForms应用程序(.NET 6)
1.编辑项目的属性,将目标操作系统设置为
10.0.17763.0
或更高版本,也可以修改项目文件,如下所示:1.将按钮(button 1)和图片框(pictureBox 1)拖放到窗体上。
1.处理按钮单击事件,并添加以下代码以使用照相机捕获图片,并将其转换为位图并显示在图片框中:
使用以下using语句:
1.将PictureBox.SizeMode设置为缩放。
1.运行应用程序,点击按钮,并在PictureBox中看到图片。
使用MediaCapture捕获图像- WinForms .NET 4.8
该示例的代码与我在.NET 6示例中分享的代码类似,唯一的区别在于准备项目和添加引用(我也分享了另一个answer的步骤)。
1.转到工具→将“默认包管理格式”设置为“PackageReference”
1.解决方案资源管理器→右键单击您的项目→选择管理NuGet包,然后
1.找到
Microsoft.Windows.SDK.Contracts
软件包。在NuGet软件包管理器窗口的右窗格中,根据您要安装的Windows 10版本选择所需的软件包版本,然后单击安装。1.按照上一个步骤3的示例操作。
更多信息和示例: