如何在c#中从图片库中路径图像

时间:2014-01-23 16:43:44

标签: c# image path mediaelement

我想使用c#和xaml

在图片库中显示我的应用程序(MediaElement)中的图片

这里是我的代码:

media.PosterSource = new BitmapImage(new Uri("file//C:/Users/Siio/Pictures/bird.jpg", UriKind.Absolute));

但图像不会出现。

任何建议?

更新 C#

StorageFolder photoFolder = KnownFolders.PicturesLibrary;
List<string> photoTypeFilter = new List<string>();
photoTypeFilter.Add(".png");
QueryOptions queryOption = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);
StorageFileQueryResult queryResults = photoFolder.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> filess = await queryResult.GetFilesAsync();
foreach (StorageFile fil in filess)
{
     MusicProperties musicProperty = await fil.Properties.GetMusicPropertiesAsync();
     if (musicProperty.Title == UpdateFav.F_Title)
     {
           Uri uri = new Uri(@"C:\Users\Christopher\Pictures\" + UpdateFav.F_Title + ".png");
           Uri uri1 = new Uri(uri.AbsoluteUri);
           BitmapImage im = new BitmapImage(uri1);
           media.PosterSource = im;
     }
}

XAML:

<MediaElement x:Name="media" HorizontalAlignment="Left" Height="398" Margin="122,63,0,0" Grid.Row="1" VerticalAlignment="Top" Width="592" AudioCategory="BackgroundCapableMedia" PosterSource="Assets/BG2.jpg" MediaOpened="media_MediaOpened"/>

1 个答案:

答案 0 :(得分:0)

您的绝对文件路径语法不正确。在“文件”之后缺少冒号。正确的语法是“file:///”。这应该导致System.UriFormatException

Uri构造函数已经知道如何通过为您附加“file:///”语法来处理文件路径。下面是一种更简单的指定文件路径的方法。

示例:

string fileName = @"c:\temp\foo.txt";
Uri uriFile = new Uri(fileName);
Console.WriteLine("Absolute Path: {0}", uri.AbsolutePath);
Console.WriteLine("Absolute Uri: {0}", uri.AbsoluteUri);

输出:

  

绝对路径:C:/temp/foo.txt
  Absolute Uri:file:/// C:/temp/foo.txt

相关问题:c# type to handle relative and absolute URI's and local file paths