WP7:获取图像名称哪些图像存储在库图片中?

时间:2013-03-18 10:17:42

标签: windows-phone-7

我有一些存储在Media Libary中的图片,请点击此处查看。现在,我需要在使用照片选择器任务选择图像后获取图像的名称。我使用照片选择器任务来选择图像,然后获得图像的路径。我的目的是从路径中获取名称:

private void button1_Click(object sender, RoutedEventArgs e)
{            
     PhotoChooserTask objPhotoChooser = new PhotoChooserTask();
     objPhotoChooser.Completed += new EventHandler<PhotoResult>(PhotoChooseCall);
      objPhotoChooser.Show();            
}

void PhotoChooseCall(object sender, PhotoResult e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    BinaryReader objReader = new BinaryReader(e.ChosenPhoto);
                    image1.Source = new BitmapImage(new Uri(e.OriginalFileName));
                    MessageBox.Show("Photo's name: " + e.OriginalFileName.ToString());                    
                    break;
                case TaskResult.Cancel:
                    MessageBox.Show("Cancelled");
                    break;
                case TaskResult.None:
                    MessageBox.Show("Nothing Entered");
                    break;
            }
        }

输出:

照片名称:\ Applications \ Data \ C80566AB-E17E-495C-81A1-3FCAE34D3DEDE \ Data \ PlatformData \ PhotoChooser-a8208960-3597-40fc-9b4f-869afcf822b6.jpg

我选择相同的图像后。它的名称将改变( PhotoChooser-a8208960-3597-40fc-9b4f-869afcf822b6.jpg 将改变)。我认为这不是照片的名称。

所以:

  1. 我们可以获取图片的名称吗?

  2. 我们该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以获取实际的文件名。请使用MediaLibrary

MediaLibrary lib = new MediaLibrary();
var collection = lib.RootPictureAlbum;

foreach (var p in collection.Albums[0].Pictures)
    Debug.WriteLine(p.Name);

请注意,我在根图片相册中指定了相册索引。 0将用于样本图片,依此类推。如果您需要获取图像的内容,只需使用p.GetImage();来获取可读流。

答案 1 :(得分:0)

没有。您无法获取文件的名称,因为它在图片中心。您将获得该流的副本,并且该名称具有不同的临时名称。