Язык

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 показано, как задать свойству переднего плана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 в двух основных сценариях:

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

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

Note

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

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

Источники изображений и масштабирование

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

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

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

Имя Описание
ImageBrush()

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

Свойства

Имя Описание
AlignmentX

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

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

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

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

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

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

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

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

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

ImageSourceProperty

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

Opacity

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

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

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

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

Возвращает или задает значение, указывающее, как содержимое этой ПлиткиBrush растягивается, чтобы соответствовать его плиткам.

(Унаследовано от 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

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

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

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