2018 年初,我使用 UWP 编写了一个应用程序,并使用 CameraCaptureUI 拍照。我将大多数选项保留为默认值,包括设置为 true 的 AllowCropping。
点击相机按钮后,用户界面提供了裁剪图片的选项。然后,可以将图片裁剪成矩形。然而,我前几天打开应用程序进行了一些修复,现在裁剪是一个圆圈。
这是我现在看到的:
我已经尝试使用 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 没有很多选项。所以我不知道还能尝试什么。
最佳答案
Why CameraCaptureUI always shows a circle crop?
在上一个版本中,我们对裁剪 UI 进行了一些更新,我尝试使用圆形裁剪 UI 来裁剪图片,裁剪后的图像大小与之前的设置相同 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你可以引用
关于c# - 为什么 CameraCaptureUI 总是显示圆形裁剪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57399236/