Condividi tramite


CompositionEffectBrush Classe

Definizione

Disegna un oggetto SpriteVisual con l'output di un effetto filtro. La descrizione dell'effetto filtro viene definita usando la classe CompositionEffectFactory .

public ref class CompositionEffectBrush sealed : CompositionBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionEffectBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
Ereditarietà
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionEffectBrush
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v2.0)

Esempio

// Create an effect description 
GaussianBlurEffect blurEffect = new GaussianBlurEffect() 
{ 
    Name = "Blur", 
    BlurAmount = 1.0f, 
    BorderMode = EffectBorderMode.Hard, 
    Optimization = EffectOptimization.Balanced 
}; 

blurEffect.Source = new CompositionEffectSourceParameter("source"); 

CompositionEffectFactory blurEffectFactory = _compositor.CreateEffectFactory(blurEffect); 
CompositionEffectBrush blurBrush = blurEffectFactory.CreateBrush(); 
// Create a BackdropBrush and bind it to the EffectSourceParameter “source” 
CompositionBackdropBrush backdropBrush = _compositor.CreateBackdropBrush(); 
blurBrush.SetSourceParameter("source", backdropBrush); 

// The SpriteVisual to apply the blur BackdropBrush to 
// This will cause everything behind this SpriteVisual to be blurred 
SpriteVisual blurSprite = _compositor.CreateSpriteVisual(); 
blurSprite.Brush = blurBrush; 

// Set blurSprite as a child visual of a XAML element 
ElementCompositionPreview.SetElementChildVisual(blurArea, blurSprite); 

Commenti

Le API di gestione degli effetti consentono agli sviluppatori di personalizzare la modalità di rendering dell’interfaccia utente. Questo può essere qualcosa di semplice come regolare i livelli di saturazione su un'immagine o qualcosa di più complesso come concatenare numerosi effetti insieme e animare le proprietà dell'effetto per creare transizioni di applicazioni interessanti e esperienze utente. Un effetto di composizione è un grafico di operazioni che definiscono come produrre contenuto grafico in base alle superfici di composizione. Ad esempio, il contenuto dei pixel delle immagini. Gli effetti vengono applicati agli oggetti visivi nell'albero e possono fare riferimento alle superfici esistenti.

Viene creata un'istanza di CompositionEffectBrush usando un oggetto CompositionEffectFactory in base a una descrizione dell'effetto specificata. CompositionEffectFactory usa il formato di descrizione dell'effetto Win2D nello spazio dei nomi Microsoft.Graphics.Canvas.Effects .

Nota

Gli effetti che non sono supportati sono contrassegnati come [NoComposition] nello spazio dei nomi Riferimenti api Win2D per gli effetti.

Un oggetto CompositionEffectBrush viene applicato a uno SpriteVisual nell'albero della composizione.

Le origini a CompositionEffectBrush possono essere una superficie o una trama esistente o un altro effetto che abilita la concatenazione degli effetti.

CompositionEffectBrush.Properties (ereditato da CompositionObject.Properties) consente di impostare o animare le proprietà animabili specificate nella chiamata a Compositor. CreateEffectFactory usando il nome completo "EffectName.PropertyName".

Le origini degli effetti possono essere impostate in modo indipendente da altre istanze di CompositionEffectBrush e le proprietà possono essere animate in modo indipendente da altre istanze di CompositionEffectBrush.

Una volta dichiarato un grafico degli effetti, il sistema compila l'effetto usando shader predefiniti. Non è possibile specificare shader personalizzati.

Creazione di una composizioneEffect

Per creare e applicare un effetto, è necessario eseguire la procedura seguente:

  1. Creare una descrizione dell'effetto. Per i tipi di effetto validi, vedere lo spazio dei nomi Win2D , Microsoft.Graphics.Canvas.Effects.
  2. Impostare qualsiasi origine effetto con un'istanza di CompositionEffectSourceParameter o un altro effetto. Se si specifica un altro effetto, viene creata una catena di effetti.
  3. Creare un oggetto CompositionEffectFactory con Compositor. CreateEffectFactory usando la descrizione dell'effetto come input.
  4. Creare un'istanza dell'effetto usando CompositorEffectFactory. CreateBrush.
  5. Impostare qualsiasi CompositionEffectSourceParameter usando CompositionEffectBrush. SetSourceParameter e il nome del parametro di origine come specificato in precedenza usando un oggetto CompositionEffectSourceParameter.
  6. Creare un'istanza di SpriteVisual usando Compositor. CreateSpriteVisual.
  7. Impostare la proprietà Brush dell'oggetto SpriteVisual sull'effetto creato.
  8. Aggiungere SpriteVisual all'albero di composizione usando la proprietà Children di un ContenitoreVisual.

Proprietà

Comment

Stringa da associare a CompositionObject.

(Ereditato da CompositionObject)
Compositor

Compositore usato per creare questo oggetto CompositionObject.

(Ereditato da CompositionObject)
Dispatcher

Dispatcher per CompositionObject.

(Ereditato da CompositionObject)
DispatcherQueue

Ottiene dispatcherQueue per CompostionObject.

(Ereditato da CompositionObject)
ImplicitAnimations

Raccolta di animazioni implicite associate a questo oggetto.

(Ereditato da CompositionObject)
Properties

Raccolta di proprietà associate a CompositionObject.

(Ereditato da CompositionObject)

Metodi

Close()

Chiude l'oggetto CompositionObject e rilascia le risorse di sistema.

(Ereditato da CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Connette e animazione.

(Ereditato da CompositionObject)
DisconnectAnimation(String)

Disconnette un'animazione.

(Ereditato da CompositionObject)
Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da CompositionObject)
GetSourceParameter(String)

Recupera un nome CompositionBrush associato a un nome CompositionEffectSourceParameter specificato.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da CompositionObject)
SetSourceParameter(String, CompositionBrush)

Associa un nome dichiarato usando CompositionEffectSourceParameter a un'origine effetto.

StartAnimation(String, CompositionAnimation, AnimationController)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimation(String, CompositionAnimation)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Avvia un gruppo di animazioni.

Il metodo StartAnimationGroup in CompositionObject consente di avviare CompositionAnimationGroup. Tutte le animazioni del gruppo verranno avviate contemporaneamente sull'oggetto.

(Ereditato da CompositionObject)
StopAnimation(String)

Disconnette un'animazione dalla proprietà specificata e arresta l'animazione.

(Ereditato da CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arresta un gruppo di animazioni.

(Ereditato da CompositionObject)
TryGetAnimationController(String)

Restituisce un oggetto AnimationController per l'animazione in esecuzione nella proprietà specificata.

(Ereditato da CompositionObject)

Si applica a

Vedi anche