0

我正在开发一个与图片、相册相关的应用程序。我要做的是从设备中选择所有图片、保存的图片、相册、相机胶卷并将其存储在List<Image>. 我找到了一个类,即MediaLibrary,但我无法理解如何选择所有这些图像并将其存储在列表中。

是否可以将所有图片添加到列表中,如下所示。

 private void btnSearchImages_Click_1(object sender, RoutedEventArgs e)
    {
        MediaLibrary m = new MediaLibrary();            

        foreach (var r in m.Pictures)
        {
            Stream imageStream = r.GetImage();
            List<Image> lstImageFromMediaLibrary = new List<Image>();
            var imageToShow = new Image()
            {
                Source = PictureDecoder.DecodeJpeg(r.GetImage())
            };

            lstImageFromMediaLibrary.Add(imageToShow);
        }        
    }

当我调试它时,我发现没有图像,即使相册中有 8默认图像。m.Pictures显示计数为零。如何从设备中选择所有这些图像并将其添加到列表中?

4

3 回答 3

0

您的代码中一个明显的问题是您总是为每次迭代声明一个新列表。你应该做:

private void btnSearchImages_Click_1(object sender, RoutedEventArgs e)
{
    MediaLibrary m = new MediaLibrary();            

    List<Image> lstImageFromMediaLibrary = new List<Image>();

    foreach (var r in m.Pictures)
    {
        Stream imageStream = r.GetImage();

        var imageToShow = new Image()
        {
            Source = PictureDecoder.DecodeJpeg(r.GetImage())
        };

        lstImageFromMediaLibrary.Add(imageToShow);
    }        
}
于 2014-01-19T03:31:12.413 回答
0

尝试这个:-

媒体库 m = 新媒体库();

    foreach (var r in m.RootPictureAlbum.Pictures)
    {

    }
于 2013-07-25T07:24:18.600 回答
0

我在我的列表中获得了所有图像。我刚刚ID_CAP_MEDIALIB_PHOTO从清单中添加。(清单位于 Properties > WMAppManifest.xml > Capabilities )

于 2013-07-25T07:26:39.317 回答