MediaLibrary.SavePicture 在馈送使用过的流时失败



我需要将使用CameraCaptureTask拍摄的照片保存在手机的媒体库中,同时我想在图像控件中显示这张照片。问题是我首先尝试通过访问其 Exif 数据来旋转图像,以便它在 Image 控件中以正确的方向显示。

private void cameraTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            int angle = GetAngleFromExif(e.ChosenPhoto);
            WriteableBitmap currentImage = DecodeImage(e.ChosenPhoto, angle);
            photoImage.Source = currentImage;
            MediaLibrary medialibrary = new MediaLibrary();
            medialibrary.SavePicture("test.jpg", e.ChosenPhoto);
        }
    }

代码在最后一行崩溃,并显示错误:

值不在预期范围内。

这里可能出了什么问题?

提前谢谢你。

在调用 SavePicture 方法之前,您应该在开头设置Stream,如下所示:

e.ChosenPhoto.Seek(0, System.IO.SeekOrigin.Begin);

相关内容

  • 没有找到相关文章

最新更新