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

Questo esempio XAML illustra come impostare la proprietà Foreground di un oggetto TextBlock su un ImageBrush, la cui immagine viene usata come riempimento per il testo di cui è stato eseguito il rendering di 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 definisce il contenuto come immagine che può essere facoltativamente estesa e allineata. Gli usi per un oggetto ImageBrush includono effetti decorativi per lo sfondo del testo o dell'immagine per i controlli o i contenitori di layout.

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

  1. Si vuole disegnare un'area non rettangolare, ad esempio un'ellisse o un bordo con un'immagine
  2. Si vuole usare un singolo ImageBrush per disegnare più aree o UIElements con la stessa immagine, che è 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 (Uniform Resource Identifier) nel codice. Se l'origine è un flusso, usa 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 , usare 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 decidere di alternare il contenuto da visualizzare finché l'origine dell'immagine non diventa disponibile. Per esempio, vedere l'esempio di immagini XAML .

Nota

È possibile usare la gestione automatica per accedere alle risorse non qualificate con qualificatori di scalabilità 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, vedi Sistema gestione risorse.

La proprietà Stretch è importante per la modalità di applicazione dell'immagine quando viene usata come pennello. Alcune immagini sembrano valide quando si estende come applicato a una determinata proprietà Brush con il comportamento fill , mentre altre immagini non si estendono o ridimensionano correttamente e potrebbero richiedere un valore none o Uniforme per Stretch. Sperimentare valori diversi per Stretch per visualizzare il comportamento migliore quando applicato all'interfaccia utente.

Origini delle immagini e ridimensionamento

È consigliabile creare le origini immagini in diverse dimensioni consigliate, per assicurarsi che l'app sia 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 le specifiche della convenzione di denominazione e ulteriori informazioni, vedi Guida introduttiva: Utilizzare risorse di file o immagine.

Per altre informazioni su come progettare per il ridimensionamento, vedere Linee guida per l'esperienza utente per il layout e la scalabilità.

Costruttori

ImageBrush()

Inizializza una nuova istanza della classe ImageBrush .

Proprietà

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 della base TileBrush .

(Ereditato da TileBrush)
Dispatcher

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

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue associato. Rappresenta DispatcherQueue una struttura che può accedere al thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia DependencyObject utente.

(Ereditato da DependencyObject)
ImageSource

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

ImageSourceProperty

Identifica la proprietà di dipendenza ImageSource .

Opacity

Ottiene o imposta il grado di opacità di un pennello.

(Ereditato da Brush)
RelativeTransform

Ottiene o imposta la trasformazione applicata al pennello usando 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 adattare i riquadri.

(Ereditato da TileBrush)
Transform

Ottiene o imposta la trasformazione applicata al pennello.

(Ereditato da Brush)

Metodi

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 un oggetto 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 viene impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(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

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