ImageBrush Classe

Definição

Pinta uma área com uma imagem. A origem da imagem normalmente é obtida de formatos de arquivo, como JPEG (Joint Photographic Experts Group).

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 .../>
Herança
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Atributos

Exemplos

Este exemplo XAML mostra como definir a propriedade Foreground de um TextBlock para um ImageBrush, cuja imagem é usada como o preenchimento do texto renderizado por 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>
Um ImageBrush aplicado ao texto

Comentários

Um ImageBrush é um tipo de pincel que define seu conteúdo como uma imagem que pode ser opcionalmente ampliada e alinhada. Os usos para um ImageBrush incluem efeitos decorativos para texto ou planos de fundo de imagem para controles ou contêineres de layout.

É útil usar um ImageBrush em vez de um controle de imagem em dois cenários principais:

  1. Você deseja pintar uma área não retangular, como uma elipse ou borda com uma imagem
  2. Você deseja usar um único ImageBrush para pintar várias áreas ou UIElements com a mesma imagem, o que é mais eficiente do que usar vários controles de imagem

Se você definir um ImageBrush usando código, use o construtor padrão e defina ImageBrush.ImageSource. Isso requer um BitmapImage (não um URI (Uniform Resource Identifier)) no código. Se sua origem for um fluxo, use o método SetSourceAsync para inicializar o valor. Se sua origem for um URI (Uniform Resource Identifier), que inclui conteúdo em seu aplicativo que usa os esquemas ms-appx ou ms-resource , use o construtor BitmapImage que usa um URI (Uniform Resource Identifier). Você também poderá considerar o tratamento do evento ImageOpened se houver problemas de tempo com a recuperação ou decodificação da origem da imagem, em que talvez seja necessário exibir conteúdo alternativo até que a origem da imagem esteja disponível. Veja o exemplo de imagens XAML , por exemplo, código.

Note

Você pode usar o tratamento automático para acessar recursos não qualificados com qualificadores de escala e cultura atuais ou usar ResourceManager e ResourceMap com qualificadores de cultura e escala para obter os recursos diretamente. Para obter mais informações, consulte o sistema de gerenciamento de recursos .

A propriedade Stretch é importante para como a imagem é aplicada quando usada como um pincel. Algumas imagens parecem boas quando estendidas conforme aplicada a uma determinada propriedade Brush com o comportamento fill , enquanto outras imagens não alongam ou dimensionam bem e podem exigir um valor de None ou Uniform para Stretch. Experimente valores diferentes para Stretch para ver qual comportamento parece melhor quando aplicado à interface do usuário.

Fontes de imagem e dimensionamento

Você deve criar suas fontes de imagem em vários tamanhos recomendados, para garantir que seu aplicativo fique ótimo quando Windows 8 dimensioná-lo. Ao especificar um ImageSource para um ImageBrush, você pode usar uma convenção de nomenclatura que referenciará automaticamente o recurso correto para o dimensionamento atual. Para obter detalhes da convenção de nomenclatura e mais informações, consulte Início Rápido: Usando recursos de arquivo ou imagem.

Para obter mais informações sobre como projetar para dimensionamento, consulte as diretrizes de UX para layout e dimensionamento.

Construtores

Nome Description
ImageBrush()

Inicializa uma nova instância da classe ImageBrush .

Propriedades

Nome Description
AlignmentX

Obtém ou define o alinhamento horizontal do conteúdo no bloco base do TileBrush .

(Herdado de TileBrush)
AlignmentY

Obtém ou define o alinhamento vertical do conteúdo no bloco base do TileBrush .

(Herdado de TileBrush)
Dispatcher

Sempre retorna null em um aplicativo do SDK de Aplicativo do Windows. Em vez disso , use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o DispatcherQueue que este objeto está associado. Representa DispatcherQueue uma instalação que pode acessar o DependencyObject thread da interface do usuário mesmo se o código for iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
ImageSource

Obtém ou define a origem da imagem exibida por este ImageBrush. No código, você define isso com uma instância de subclasse ImageSource , em XAML, você define isso com um URI como um arquivo de origem de imagem.

ImageSourceProperty

Identifica a propriedade de dependência ImageSource .

Opacity

Obtém ou define o grau de opacidade de um pincel.

(Herdado de Brush)
RelativeTransform

Obtém ou define a transformação que é aplicada ao pincel usando coordenadas relativas.

(Herdado de Brush)
Stretch

Obtém ou define um valor que especifica como o conteúdo desse TileBrush se estende para ajustar seus blocos.

(Herdado de TileBrush)
Transform

Obtém ou define a transformação que é aplicada ao pincel.

(Herdado de Brush)

Métodos

Nome Description
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria em casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define uma propriedade que pode ser animada.

(Herdado de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Quando substituído em uma classe derivada, define uma propriedade que pode ser animada.

(Herdado de Brush)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em um DependencyProperty específico nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Eventos

Nome Description
ImageFailed

Ocorre quando há um erro associado à recuperação ou ao formato da imagem.

ImageOpened

Ocorre quando a origem da imagem é baixada e decodificada sem falha. Você pode usar esse evento para determinar o tamanho de uma imagem antes de renderizá-la.

Aplica-se a

Confira também