如何更改UWP的媒体捕获照片分辨率?

时间:2016-02-08 02:06:24

标签: c# windows-10 win-universal-app uwp windows-10-mobile

所以我有一些代码可以使用此代码在UWP应用程序中运行照片(在Windows桌面和手机上运行)。

await _mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);

它效果很好,但它始终以图像的全分辨率拍摄...(Lumia 1020上的44万像素)对我来说太大了。我想将分辨率限制在固定大小(比如大约1600万像素)。

那么有没有办法设置相机捕捉分辨率,还是我必须以全分辨率捕捉它并自己缩小尺寸?

1 个答案:

答案 0 :(得分:8)

您应该可以在初始化后通过setting MediaStreamProperties更改 MediaCapture 元素的分辨率:

// initialization here

// get available resolutions
var resolutions = captureManager.VideoDeviceController.GetAvailableMediaStreamProperties(MediaStreamType.Photo).ToList();
// set used resolution
await captureManager.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.Photo, resolutions[1]);