1

こんな感じで画像を保存しています

BitmapImage img = (BitmapImage)Bild.Source;
                WriteableBitmap wb = new WriteableBitmap(img);
                String tempJPEG = "TempJPEG.jpg";
                var myStore = IsolatedStorageFile.GetUserStoreForApplication();
                if (myStore.FileExists(tempJPEG))
                {
                    myStore.DeleteFile(tempJPEG);
                }
                IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempJPEG);

                Extensions.SaveJpeg(wb, myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
                myFileStream.Close();

                myFileStream = myStore.OpenFile(tempJPEG, FileMode.Open, FileAccess.Read);

                String picname = "";
                picname += DateTime.Now.Ticks.ToString();
                picname += ".jpg";

                MediaLibrary library = new MediaLibrary();
                Picture pic = library.SavePicture(picname, myFileStream);

                BitmapImage bm = new BitmapImage();
                MessageBox.Show("Images successfully saved!");

今、この関数から保存したすべての画像を読み込もうとしていますが、それらはフォト ライブラリの「保存された画像」に保存されます。これまでのところ、このコードを取得しました

        using (var library = new MediaLibrary())
        {

            PictureAlbumCollection allAlbums = library.RootPictureAlbum.Albums;

            PictureAlbum cameraRoll = allAlbums.Where(album => album.Name == "Saved Pictures").FirstOrDefault();

            var CameraRollPictures = cameraRoll.Pictures;

        }

しかし、cameraRoll は毎回 Null になります。

では、アプリに写真をロードするにはどうすればよいですか?

4

1 に答える 1

1

ここにあなたのための例があります: (私はテストしました、そしてそれは非常にうまくいきます.)

http://blogs.msdn.com/b/johnalioto/archive/2011/01/28/10121728.aspx

もう1つ、写真ライブラリにアクセスする機能が追加されていることを確認してください:

<!-- For accessing photos in the media library. -->
<Capability Name="ID_CAP_MEDIALIB_PHOTO" />

それが役に立てば幸い。

于 2013-11-18T10:20:45.317 に答える