Для вывода изображений используется элемент Image. Он работает со следующими форматами файлов: jpeg, png, bmp, tiff, gif, ico.
Чтобы установить отображаемое изображение Image использует свойство Source, которому присваивается путь к изображению. В качестве пути могут применяться адреса в интернете или пути к файлам внутри приложения.
Пути к изображению отсчитываются относительно корня проекта. Допустим, в корне проекта лежит графический файл river.png. Выведем его на страницу:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Image Source="river.png" /> </Grid>
Мы можем управлять отображением картинки, используя свойство Stretch. Оно принимает следующие значения:
None: отсутствие масштабирования - изображение отображается в натуральную длину и ширину. Если размер изображения превышает размер Image, то изображение усекается
Uniform: изображение масштабируется так, чтобы наиболее эффективно вписаться в размеры Image без потери аспектного пространства (отношения длины изображения к ширине). Это значение по умолчанию.
Fill: изображение масштабируется таким образом, чтобы заполнить все пространство Image
UniformToFill: изображение масштабируется таким образом, чтобы заполнить все пространство Image с сохранением аспектного отношения
Выше был приведен пример с Stretch="Uniform"
. То же самое изображение при значении Stretch="Fill"
:
И значение Stretch="UniformToFill"
:
С помощью свойства Clip можно вырезать на элементе Image определенную часть изображения. Например:
<Image Source="river.png" Stretch="Fill"> <Image.Clip> <RectangleGeometry Rect="20,20,300,250" /> </Image.Clip> </Image>
Свойство Clip принимает объект RectangleGeometry, которое с помощью свойства Rect устанавливает вырезаемую область:
Программное создание объекта Image:
Image image = new Image(); Windows.UI.Xaml.Media.Imaging.BitmapImage bitmap = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); bitmap.UriSource = new Uri("ms-appx:///river.png"); image.Source = bitmap; image.Stretch = Stretch.UniformToFill;