Compartilhar via


ImageBrush Classe

Definição

Pinta uma área com uma imagem. Normalmente, a origem da imagem é 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 de 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 Image em dois cenários de main:

  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 image

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 a sua origem for um fluxo, use o método SetSourceAsync para iniciar 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 pode considerar a manipulação do evento ImageOpened se houver algum problema de temporização com a recuperação ou decodificação da origem da imagem, em que você pode precisar de conteúdo alternativo para exibir até que a origem da imagem esteja disponível. Consulte Exemplo de imagens XAML , por exemplo, código.

Observação

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 para cultura e escala para obter os recursos diretamente. Para saber mais, veja Sistema de gerenciamento de recursos.

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

Origens de imagens 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 saber mais sobre a convenção de nomenclatura, confira Início rápido: usando recursos de arquivo ou imagem.

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

Construtores

ImageBrush()

Inicializa uma nova instância da classe ImageBrush .

Propriedades

AlignmentX

Obtém ou define o alinhamento horizontal do conteúdo no bloco base 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 SDK do Aplicativo Windows. Em vez disso, use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o ao DispatcherQueue qual esse objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o DependencyObject no thread da interface do usuário mesmo que o código seja 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 da 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 caber em seus blocos.

(Herdado de TileBrush)
Transform

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

(Herdado de Brush)

Métodos

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 nos 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 uma DependencyProperty específica 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

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