我需要将CameraCaptureTask捕获的照片保存在手机的媒体库中,同时我想在Image控件中显示此照片。问题是我首先尝试通过访问其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);
}
}
代码在最后一行崩溃,错误:
价值不在预期范围内。
这里可能出现什么问题?
提前谢谢。
答案 0 :(得分:3)
在调用SavePicture
方法之前,您应该在开头设置Stream
,如下所示:
e.ChosenPhoto.Seek(0, System.IO.SeekOrigin.Begin);