gpt4 book ai didi

c# - 让相机在人像模式下正常工作

转载 作者:行者123 更新时间:2023-11-30 15:39:32 25 4
gpt4 key购买 nike

我将相机添加到我的应用程序中,该应用程序全部处于人像模式,因此希望保持这种状态。

这是我在 .XAML 中使用的相关代码片段

SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d" d:DesignHeight="800" d:DesignWidth="480"

<Canvas x:Name="viewfinderCanvas" Width="480" Height="800" >
<!--Camera viewfinder -->
<Canvas.Background>
<VideoBrush x:Name="viewfinderBrush">
</VideoBrush>
</Canvas.Background>
</Canvas>

这是我来自 .XAML.CS 的设置代码

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (PhotoCamera.IsCameraTypeSupported(CameraType.FrontFacing))
{
cam = new Microsoft.Devices.PhotoCamera(CameraType.FrontFacing);
}
else
{
cam = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
}

cam.Initialized += new EventHandler<Microsoft.Devices.CameraOperationCompletedEventArgs>(cam_Initialized);
cam.CaptureCompleted += new EventHandler<CameraOperationCompletedEventArgs>(cam_CaptureCompleted);
cam.CaptureImageAvailable += new EventHandler<Microsoft.Devices.ContentReadyEventArgs>(cam_CaptureImageAvailable);
cam.CaptureThumbnailAvailable += new EventHandler<ContentReadyEventArgs>(cam_CaptureThumbnailAvailable);
viewfinderBrush.SetSource(cam);
}

问题是我以纵向模式握住手机并将手机对准一个人。屏幕在屏幕右侧显示人的头,在屏幕左侧显示人的脚。当他们站在我面前时,头应该在屏幕顶部,脚应该在屏幕底部,因为这些人不是超人。

所以看起来来自相机的图像在出现在屏幕上之前旋转了 -90。

任何人都可以解释哪里出了问题以及我需要实现哪些示例代码来解决这个问题。

谢谢,-代码

最佳答案

您需要实现一个 VideoBrush.RelativeTransform,详见以下文章:-

http://msdn.microsoft.com/en-us/magazine/hh708750.aspx

还包括以下内容:-

ViewFinder Orientation With Windows Phone 7 Mango PhotoCamera

关于c# - 让相机在人像模式下正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com