Windows runtime MediaCapture:与摄像头应用程序和TrySetAuto不工作相比,质量较低

Windows runtime MediaCapture:与摄像头应用程序和TrySetAuto不工作相比,质量较低,windows-runtime,windows-phone-8.1,Windows Runtime,Windows Phone 8.1,我在诺基亚Lumia 930上使用MediaCapture拍照(在我的情况下使用默认分辨率为5MP)。我认为使用MediaCapture拍摄的照片的质量明显低于使用camera应用程序拍摄的照片的质量。它们的颜色不太饱满,有点暗,前景有点模糊 我试图将焦距、亮度、对比度、曝光和白平衡设置为自动(就像在我的相机应用程序中一样),但TrySetAuto方法总是返回false(表明它不起作用) 有什么不对劲吗?如何提高MediaCapture拍摄的照片的质量。TrySetAuto车吗 以下是我用于创建

我在诺基亚Lumia 930上使用MediaCapture拍照(在我的情况下使用默认分辨率为5MP)。我认为使用MediaCapture拍摄的照片的质量明显低于使用camera应用程序拍摄的照片的质量。它们的颜色不太饱满,有点暗,前景有点模糊

我试图将焦距、亮度、对比度、曝光和白平衡设置为自动(就像在我的相机应用程序中一样),但TrySetAuto方法总是返回false(表明它不起作用)

有什么不对劲吗?如何提高MediaCapture拍摄的照片的质量。TrySetAuto车吗

以下是我用于创建和初始化MediaCapture的代码:

  private async Task CreateMediaCapture()
  {

     this.mediaCapture = new MediaCapture();

     // Initialize the media capture
     var settings = new MediaCaptureInitializationSettings
     {
        VideoDeviceId = this.deviceInfoCollection[this.DeviceListBox.SelectedIndex].Id
     };
     await this.mediaCapture.InitializeAsync(settings);

     // Set focus, brightness, contrast, exposure and white balance to Auto
     // TODO: This does nothing so far. Photos made with MediaCapture still have a lower quality than
     // photos made with the Camera App. They have less color, are darker and slightly blurry in the
     // foreground
     if (mediaCapture.VideoDeviceController.Focus.TrySetAuto(true) == false)
     {
        Debug.WriteLine("Setting Focus to auto did not work");
     }
     if (mediaCapture.VideoDeviceController.Brightness.TrySetAuto(true) == false)
     {
        Debug.WriteLine("Setting Brightness to auto did not work");
     }
     if (mediaCapture.VideoDeviceController.Contrast.TrySetAuto(true) == false)
     {
        Debug.WriteLine("Setting Contrast to auto did not work");
     }
     if (mediaCapture.VideoDeviceController.Exposure.TrySetAuto(true) == false)
     {
        Debug.WriteLine("Setting Exposure to auto did not work");
     }
     if (mediaCapture.VideoDeviceController.WhiteBalance.TrySetAuto(true) == false)
     {
        Debug.WriteLine("Setting WhiteBalance to auto did not work");
     }
  }
以下是拍摄照片的代码(具有现有预览):

private async Task TakePhotoAsync
{
   ImageEncodingProperties imageFormat = ImageEncodingProperties.CreateJpeg();

   // Create a storage file in the picture library
   StorageFile photoFile = null;
   this.DisplayInfo("Creating storage file ...");
   photoFile = await KnownFolders.PicturesLibrary.CreateFileAsync(
      "TestPhoto.jpg", CreationCollisionOption.GenerateUniqueName);

   // Take photo
   await this.mediaCapture.CapturePhotoToStorageFileAsync(imageFormat, photoFile);
}