0

私の Windows Phone 8.1 アプリでは、カメラで写真を撮り、これをカメラ ロールに保存し、イメージ パスを一時オブジェクトに保存します。

var picture = library.SavePictureToCameraRoll(fileName, e.ImageStream);
geophoto.ImagePath = picture.GetPath();

私のアプリの別のページで、カメラロールからこの写真を読み込み、保存されたパスを Image オブジェクトのソースとして設定したい:

Uri uri = new Uri(App.Current.Geophoto.ImagePath, UriKind.Absolute);
ImageSource imgSource = new BitmapImage(uri);
this.ShutterImage.Source = imgSource; 

画像の保存されたパスは、例えば"file:///C:/Data/Users/Public/Pictures/Camera Roll/201506191442443805.jpg"

実行時に新しいソースを設定しようとすると、画像が空白になります。パスまたはコードに何か問題がありますか?

4

1 に答える 1

0

パスを介してカメラロールに直接アクセスできないことがわかりました。だから私は次のコードで私の問題を解決しました:

    private BitmapImage GetThumbnailFromCameraRoll(string path)
    {
        MediaLibrary mediaLibrary = new MediaLibrary();
        var pictures = mediaLibrary.Pictures;
        foreach (var picture in pictures)
        {
            var camerarollPath = picture.GetPath();
            if (camerarollPath == path)
            {
                BitmapImage image = new BitmapImage();
                image.SetSource(picture.GetThumbnail());
                return image;
            }
        }

        return null;
    }
于 2015-07-01T09:28:16.723 に答える