我正在使用MediaCapture创建相机应用。我正在尝试适应屏幕旋转,因此我创建了以下方法:
private void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
{
width = Window.Current.Bounds.Width;
height = Window.Current.Bounds.Height;
//captureManager.SetPreviewRotation(VideoRotation.Clockwise90Degrees);
//if (ApplicationView.GetForCurrentView().Orientation.ToString() == "Portrait") capturePreview.Stretch = Stretch.Fill;
capturePreview.Width = width;
capturePreview.Height = height;
imagePreview.Width = width;
imagePreview.Height = height;
//if (ApplicationView.GetForCurrentView().Orientation.ToString() == "Portrait") capturePreview.Stretch = Stretch.Fill;
//else capturePreview.Stretch = Stretch.Uniform;
}
当我打开我的应用程序时,相机会填满整个页面但是当我翻转相机时,capturePreview只占用了一半的页面,如果我以纵向或横向模式启动应用程序无关紧要,另一种模式赢了“如果工作,但第一种模式也将转入。
另一个问题是关于实际的capturePreview布局,我发现如果我保持屏幕处于水平布局,相机效果很好,但如果设备处于纵向模式,我无法在不拉伸照片的情况下填满整个页面,有没有办法在一定的旋转中只保留一个元素在屏幕上(capturePreview)我尝试用旋转变换旋转它,但这也影响了元素的实际位置。 谢谢
答案 0 :(得分:2)
在WP中,您可以通过Window.Sizechanged事件获取CurrentViewState。