Поделиться через


ImageBrush Класс

Определение

Заполнение области с помощью изображения. Источник изображения обычно получается из файловых форматов, таких как Совместная группа экспертов по фотографии (JPEG).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Наследование
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Атрибуты

Примеры

В этом примере xaml показано, как задать для свойства Foregroundобъекта TextBlock значение ImageBrush, изображение которого используется в качестве заливки для текста, отображаемого TextBlock.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
Объект ImageBrush, примененный к тексту

Комментарии

ImageBrush — это тип кисти , которая определяет ее содержимое как изображение, которое при необходимости можно растянуть и выровнять. К использованию ImageBrush относятся декоративные эффекты для текста или фон изображения для элементов управления или контейнеров макета.

Полезно использовать ImageBrush вместо элемента управления Image в двух сценариях main:

  1. Вы хотите закрасить непрямоугольную область, например эллипс или границу изображением
  2. Вы хотите использовать один ImageBrush для закраски нескольких областей или элементов UIElement одним и тем же изображением, что более эффективно, чем использование нескольких элементов управления Image

Если вы определяете ImageBrush с помощью кода, используйте конструктор по умолчанию, а затем задайте ImageBrush.ImageSource. Для этого требуется BitmapImage (а не универсальный код ресурса (URI)) в коде. Если источником является поток, для инициализации значения используйте метод SetSourceAsync. Если источником является универсальный код ресурса (URI), который включает в себя содержимое приложения, использующего схемы ms-appx или ms-resource , используйте конструктор BitmapImage , который принимает универсальный код ресурса (URI). Также можно рассмотреть вариант обработки события ImageOpened, если существуют некоторые временные проблемы с получением или декодированием источника изображения, при которых может понадобиться отображать альтернативное содержимое до тех пор, пока источник изображения не станет доступным. Пример кода см . в разделе Пример изображений XAML .

Примечание

Вы можете использовать автоматическую обработку для доступа к неквалифицированным ресурсам с помощью текущих квалификаторов масштабирования и языка и региональных параметров или ResourceManager и ResourceMap с квалификаторами для языка и региональных параметров и масштаба, чтобы получить ресурсы напрямую. Подробнее см. в разделе Система управления ресурсами.

Свойство Stretch важно для применения изображения при использовании в качестве кисти. Некоторые изображения хорошо выглядят, если они растягиваются, как применяется к определенному свойству Brush с поведением Заливка , в то время как другие изображения не растягиваются и не масштабируются и могут требовать значения None или Uniform для Stretch. Поэкспериментируйте с различными значениями для Stretch , чтобы узнать, какое поведение лучше всего выглядит при применении к пользовательскому интерфейсу.

Исходные изображения и масштабирование

Следует создавать источники изображений в нескольких рекомендуемых размерах, чтобы приложение выглядело отлично при его масштабировании Windows 8. При указании ImageSource для ImageBrush можно использовать соглашение об именовании, которое автоматически будет ссылаться на правильный ресурс для текущего масштабирования. Особенности контекста именования и дополнительные сведения описываются в разделе Краткое руководство: использование файловых и графических ресурсов.

Дополнительные сведения о проектировании для масштабирования см. в разделе Рекомендации по пользовательскому интерфейсу для макета и масштабирования.

Конструкторы

ImageBrush()

Инициализирует новый экземпляр класса ImageBrush .

Свойства

AlignmentX

Возвращает или задает горизонтальное выравнивание содержимого в базовой плитке TileBrush .

(Унаследовано от TileBrush)
AlignmentY

Возвращает или задает вертикальное выравнивание содержимого в базовой плитке TileBrush .

(Унаследовано от TileBrush)
Dispatcher

Всегда возвращает в null приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает объект , DispatcherQueue с которым связан этот объект. представляет DispatcherQueue средство, которое может получить доступ к в потоке DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
ImageSource

Возвращает или задает источник изображения, отображаемый этим ImageBrush. В коде, который вы задали с помощью экземпляра подкласса ImageSource , в XAML вы задали его с помощью универсального кода ресурса (URI) для исходного файла изображения.

ImageSourceProperty

Определяет свойство зависимости ImageSource .

Opacity

Возвращает или задает степень непрозрачности кисти.

(Унаследовано от Brush)
RelativeTransform

Возвращает или задает преобразование, которое применяется к кисти с использованием относительных координат.

(Унаследовано от Brush)
Stretch

Возвращает или задает значение, указывающее, как содержимое tileBrush растягивается в соответствии с его плитками.

(Унаследовано от TileBrush)
Transform

Получает или задает преобразование, которое применяется к кисти.

(Унаследовано от Brush)

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

При переопределении в производном классе определяет свойство, которое можно анимировать.

(Унаследовано от Brush)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенного DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова Метода RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

События

ImageFailed

Возникает при возникновении ошибки, связанной с извлечением изображения или форматированием.

ImageOpened

Происходит при загрузке и декодировании источника изображения без сбоев. Это событие можно использовать для определения размера изображения перед его отрисовкой.

Применяется к

См. также раздел