ImageBrush Classe

Definizione

Disegna un'area con un'immagine. L'origine dell'immagine viene in genere ottenuta da formati di file come Joint Photographic Experts Group (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 .../>
Ereditarietà
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Attributi

Esempio

In questo esempio XAML viene illustrato come impostare la proprietà Foreground di un oggetto TextBlock su un oggetto ImageBrush, la cui immagine viene usata come riempimento per il testo sottoposto a rendering 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>
Oggetto ImageBrush applicato al testo

Commenti

ImageBrush è un tipo di pennello che ne definisce il contenuto come immagine che può essere facoltativamente allungata e allineata. Gli usi per un oggetto ImageBrush includono effetti decorativi per il testo o sfondi di immagini per controlli o contenitori di layout.

È utile usare un oggetto ImageBrush anziché un controllo Image in due scenari principali:

  1. Si desidera disegnare un'area non rettangolare, ad esempio un'ellisse o un bordo con un'immagine
  2. Si vuole usare un singolo oggetto ImageBrush per disegnare più aree o UIElement con la stessa immagine, più efficiente rispetto all'uso di più controlli Image

Se si definisce un oggetto ImageBrush usando il codice, usare il costruttore predefinito, quindi impostare ImageBrush.ImageSource. Ciò richiede un oggetto BitmapImage (non un URI(Uniform Resource Identifier) nel codice. Se l'origine è un flusso, usare il metodo SetSourceAsync per inizializzare il valore. Se l'origine è un URI (Uniform Resource Identifier), che include il contenuto nell'app che usa gli schemi ms-appx o ms-resource , usa il costruttore BitmapImage che accetta un URI (Uniform Resource Identifier). Puoi anche valutare se gestire l'evento ImageOpened in caso di problemi di tempo con il recupero o la decodifica dell'origine dell'immagine, per cui potresti avere la necessità di visualizzare contenuto alternativo finché l'origine dell'immagine non diventa disponibile. Vedi Esempio di immagini XAML per codice di esempio.

Note

È possibile usare la gestione automatica per accedere a risorse non qualificate con qualificatori di scala e impostazioni cultura correnti oppure è possibile usare ResourceManager e ResourceMap con qualificatori per le impostazioni cultura e la scalabilità per ottenere direttamente le risorse. Per altre informazioni consultare Gestione delle risorse di sistema.

La proprietà Stretch è importante per la modalità di applicazione dell'immagine quando viene usata come pennello. Alcune immagini hanno un aspetto ottimale quando vengono estese come applicate a una particolare proprietà Brush con il comportamento Fill , mentre altre immagini non si estendono o si ridimensionano correttamente e potrebbero richiedere un valore None o Uniform per Stretch. Sperimentare valori diversi per Stretch per vedere quale comportamento risulta migliore quando applicato all'interfaccia utente.

Origini e ridimensionamento delle immagini

È consigliabile creare le origini delle immagini con diverse dimensioni consigliate per assicurarsi che l'app abbia un aspetto ottimale quando Windows 8 ridimensionarlo. Quando si specifica imageSource per un oggetto ImageBrush, è possibile usare una convenzione di denominazione che farà riferimento automaticamente alla risorsa corretta per il ridimensionamento corrente. Per informazioni specifiche sulla convenzione di denominazione e ulteriori informazioni, vedi Guida introduttiva: Utilizzo di risorse file o immagine.

Per altre info su come progettare per il ridimensionamento, vedi Linee guida per l'esperienza utente per il layout e il ridimensionamento.

Costruttori

Nome Descrizione
ImageBrush()

Inizializza una nuova istanza della classe ImageBrush .

Proprietà

Nome Descrizione
AlignmentX

Ottiene o imposta l'allineamento orizzontale del contenuto nel riquadro di base TileBrush .

(Ereditato da TileBrush)
AlignmentY

Ottiene o imposta l'allineamento verticale del contenuto nel riquadro di base TileBrush .

(Ereditato da TileBrush)
Dispatcher

Restituisce null sempre in un'app di SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue a cui è associato questo oggetto. Rappresenta DispatcherQueue una funzionalità che può accedere al nel thread dell'interfaccia DependencyObject utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
ImageSource

Ottiene o imposta l'origine immagine visualizzata da imageBrush. Nel codice impostato con un'istanza della sottoclasse ImageSource , in XAML lo imposti con un URI su un file di origine dell'immagine.

ImageSourceProperty

Identifica la proprietà di dipendenza ImageSource .

Opacity

Ottiene o imposta il grado di opacità di un oggetto Brush.

(Ereditato da Brush)
RelativeTransform

Ottiene o imposta la trasformazione applicata al pennello utilizzando coordinate relative.

(Ereditato da Brush)
Stretch

Ottiene o imposta un valore che specifica il modo in cui il contenuto di questo TileBrush si estende per adattarsi ai riquadri.

(Ereditato da TileBrush)
Transform

Ottiene o imposta la trasformazione applicata al pennello.

(Ereditato da Brush)

Metodi

Nome Descrizione
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Quando sottoposto a override in una classe derivata, definisce una proprietà che può essere animata.

(Ereditato da Brush)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a una dipendenza specifica in questa istanza dependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un Oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Eventi

Nome Descrizione
ImageFailed

Si verifica quando si verifica un errore associato al recupero o al formato dell'immagine.

ImageOpened

Si verifica quando l'origine dell'immagine viene scaricata e decodificata senza errori. È possibile usare questo evento per determinare le dimensioni di un'immagine prima di eseguire il rendering.

Si applica a

Vedi anche