为什么CameraCaptureUI总是显示圆形裁剪?

时间:2019-08-07 17:02:48

标签: c# windows uwp camera

2018年初,我使用UWP编写了一个应用程序,并使用CameraCaptureUI拍照。我将大多数选项保留为默认选项,其中包括设置为true的AllowCropping。

在单击相机按钮后,UI提供了裁剪图片的选项。然后,可以将图片裁剪为矩形。但是,几天前我打开该应用程序进行了一些修复,现在收成一个圆圈了。

这是我现在看到的:

a busy cat

我已经尝试使用CroppedAspectRatio属性使裁剪UI使用4:3矩形,但是它不起作用。

这是原始代码:

cameraDialog.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
var file = await cameraDialog.CaptureFileAsync(CameraCaptureUIMode.Photo);

这是我尝试过的并且没弄糟的东西:

cameraDialog.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
cameraDialog.PhotoSettings.CroppedAspectRatio = new Size(4, 3);
var file = await cameraDialog.CaptureFileAsync(CameraCaptureUIMode.Photo);

CameraCaptureUI没有很多选择。所以我不知道还能尝试什么。

1 个答案:

答案 0 :(得分:0)

  

为什么CameraCaptureUI总是显示圆形裁剪?

在上一个版本中,我们对裁切界面进行了一些更新,我尝试使用圆形裁切界面来裁切图片,裁切后的图像尺寸与先前的设置CroppedAspectRatio = new Size(4, 3)相同。我与相关团队讨论并报告了此行为。目前,我们已经解决了禁用AllowCropping属性(默认为true)的问题。

CameraCaptureUI captureUI = new CameraCaptureUI();
captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
captureUI.PhotoSettings.AllowCropping = false;           
StorageFile file = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo);

您还可以自定义MediaCapture类的相机,这是您可以参考的code sample