我希望能够在 pictureBox 上看到网络摄像头的“预览”图像,以防我在使用 MediaCapture.PrepareLowLagPhotoCaptureAsync 时只显示在 pictureBox 中捕获的图像,很快就不会显示相机看到的内容,而只是显示一个一次tidara照片,拍摄时间约为1秒

当我谷歌如何执行此操作时,它总是返回使用 CaptureElement 作为解决方案,但此类在 c# .NET 7 Form/WPF/WinUI3 中不可用,它仅在 UWP 中可用

因此,要解决我的问题,有 2 个选项,或者我可以使用 .NET 7 Form 中的 CapturElement 或其他替代方法来完成我打算在没有 CapturElement 的情况下执行的操作...那么我该如何解决我的问题呢?

https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.captureelement?view=winrt-22621

https://learn.microsoft.com/en-us/windows/uwp/audio-video-camera/simple-camera-preview-access

Edit1:我可以完全使用 MediaCapture,我在申请表中实现此问题(https://learn.microsoft.com/en-us/windows/uwp/audio-video-camera/simple-camera-preview-access )

Edit2:在我的项目中已经将 net7.0-windows10.0.17763.0 添加到主项目中

Edit3:我的问题是不使用 MediaCapture,我可以在我的表单上使用它。问题是能够使用它来保持相机打开并实时拍摄她所看到的图像并将其发送到 Form 中的 PictureBox。根据我的研究,使用了 CaptureElement,它仅在 UWP 中可用


问题

我无法使用 MediaControl 做我想做的事。很快我就被迫寻找另一种解决方案,在本例中就是 OpenCV。

解决方案

OpenCV 设法提供了我需要的一切,所以我开始使用它。但因为它更全面、更复杂,所以我决定创建WebCam-Sharp

网络摄像头-Sharp

WebCam-Sharp是我创建的一个 C# 库,它仅提供使用 OpenCV 和其他 Windows 工具的 WebCam 基础知识,以便轻松获取所用设备的功能(即,它仅适用于 Windows)。


添加net7.0-windows10.0.17763.0到主

好吧,看看这个:WPF 或 Windows Forms 中的 MediaCapture API。你同意这是重复的吗?

这回答了你的问题了吗?WPF 或 Windows 窗体中的 MediaCapture API

我的问题不在于使用 MediaCapture,我可以在我的表单上使用它。问题是能够使用它来保持相机打开并实时拍摄她所看到的图像并将其发送到 Form 中的 PictureBox。根据我的研究,使用了 CaptureElement,它仅在 UWP 中可用

那里的答案展示了如何使用CaptureAsync()它