0

我需要将使用 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);
        }
    }

代码在最后一行崩溃,并出现错误:

值不在预期范围内。

这里可能出了什么问题?

先感谢您。

4

1 回答 1

3

在调用SavePicture方法之前,你应该把Stream后面设置在开头,像这样:

e.ChosenPhoto.Seek(0, System.IO.SeekOrigin.Begin);
于 2012-12-05T21:09:52.243 回答