0

CameraCaptureTask でキャプチャした写真を電話のメディア ライブラリに保存する必要があります。同時に、この写真を Image コントロールに表示したいと考えています。問題は、まず Exif データにアクセスして画像を回転させ、画像コントロールに正しい向きで表示されるようにすることです。

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 に答える