c# - 执行相机预览镜像模式的正确方法

标签 c# windows-8 microsoft-metro

目前,当使用 Media capture using capture device sample 进行测试时,我意识到相机不是我想要的东西。 我希望它处于镜像模式。目前,它不是。

  1. 对于处于镜像模式的相机预览,我可以知道它是依赖于硬件还是独立于硬件。如果我用不同的硬件运行相同的代码,相机预览可能会处于镜像模式吗?如果依赖于硬件,我如何检查我的相机预览是否处于镜像/非镜像模式?

  2. 为了使它进入镜像模式,我尝试遵循this thread .我尝试 MediaCapture.SetPreviewMirroring(true)。没有效果。相机预览仍处于非镜像模式。

  3. 我尝试 captureElement.RenderTransform = new ScaleTransform() { ScaleX = -1 };。整个相机预览变成纯灰色。

  4. 我想尝试的最后一种方法是尝试通过 MediaCapture.AddEffectAsync() 在 C++ 代码中执行翻转。但是,这需要回到我的第一个问题。是不是可以简单地进行翻转,还是先检查传入的缓冲区是否处于镜像/非镜像模式?如果是,我该如何检查?

最佳答案

对于那些在提出这个问题后寻找更新答案的人,UWP 和 WinUI 上的正确方法是在 CaptureElement 上设置 FlowDirection="RightToLeft" .

<CaptureElement x:Name="previewElement" FlowDirection="RightToLeft"/>

关于c# - 执行相机预览镜像模式的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262936/

相关文章:

c# - 您可以在 Windows 8 Metro 中混淆语言堆栈吗?

notifications - 如何注册 Win8 定期磁贴通知?

c# - 等效 new Guid() 和 Guid.Empty 的目的

c# - 如何从 .NET 应用程序启动默认媒体播放器?

c# - Storyboard DoubleAnimation 不适用于 StackPanel 高度属性

javascript - 匿名函数从哪里获取参数

c# - 编写分析 XML 数据的递归方法

c# - 在 Windows 窗体应用程序中将数据从一个 OleDb 数据库复制到另一个

c# - 如何在 Windows 8 Metro 风格应用程序中获取摄像头源?

C# metro - 后台任务刷新不到 15 分钟