понедельник, 24 декабря 2012 г.

WPF: Задание пути к файлу изображения из кода

   Начал изучать WPF  и тут же сталкиваюсь с проблемой - изображение после добавления не доступно в списке подстановки IntelliSense из статического класса Resources, да и у компонента Image свойство Source имеет тип совсем не Bitmap а ImageSource.

   Из xaml разметки устанавливается примерно таким образом:

 <img source="/MemoryWPF;component/Images/1.jpg" />

   Из .cs кода(для изображения встроенного в ресурсы приложения):
 
 Uri src = new Uri(@"/MemoryWPF;component/Images/1.jpg", UriKind.Relative);
 BitmapImage bImg = new BitmapImage(src);
 Image img = new Image();
 img.Source = bImg;

Либо, вариант покороче:
  
 Image img = new Image();
 img.Source = new BitmapImage(new Uri(@"/MemoryWPF;component/Images/1.jpg", UriKind.Relative));

   Вместо "/MemoryWPF;component/", можно написать "./" еще больше укоротив пример.
   Uri определяет путь к файлу, если изображения не будут встроены в ресурсы во время компиляции, а будут расположены в локальной папке либо в интернете, то можно используя соответствующий путь подгрузить их оттуда:

// путь к файлу интернете
new Uri(@"http://s.codeproject.com/App_Themes/Christmas/Img/logo250x135.gif"); 
// путь к файлу на диске
new Uri(@"D:/2.jpg"); 

Комментариев нет:

Отправить комментарий