CompositionEffectBrush Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class CompositionEffectBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionEffectBrush : CompositionBrush
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
- Ereditarietà
- Attributi
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 ed 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 pixel delle immagini. Gli effetti vengono applicati agli oggetti visivi nell'albero e possono fare riferimento a superfici esistenti.
Viene creata un'istanza di CompositionEffectBrush usando 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 (WinAppSDK (WinUI 3) / UWP (WinUI 2)).
Nota
Gli effetti che non sono supportati sono contrassegnati come [NoComposition] nello spazio dei nomi Delle API Win2D .
Un oggetto CompositionEffectBrush viene applicato a uno SpriteVisual nell'albero di composizione.
Le origini a CompositionEffectBrush possono essere una superficie o una trama esistente o un altro effetto che abilita il concatenamento 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 indipendentemente da altre istanze di CompositionEffectBrush e le proprietà possono essere animate indipendentemente da altre istanze di CompositionEffectBrush.
Dopo aver dichiarato un grafico degli effetti, il sistema compila l'effetto usando shader predefiniti. Non è possibile specificare shader personalizzati.
Creazione di un oggetto CompositionEffect
Per creare e applicare un effetto, è necessario seguire questa procedura:
- Creare una descrizione dell'effetto. Vedi lo spazio dei nomi Win2D , lo spazio dei nomi Microsoft.Graphics.Canvas.Effects(WinAppSDK (WinUI 3) / UWP (WinUI 2)), per i tipi di effetto validi.
- Impostare le origini degli effetti con un'istanza di CompositionEffectSourceParameter o un altro effetto. Se si specifica un altro effetto, viene creata una catena di effetti.
- Creare un compositionEffectFactory con Compositor. CreateEffectFactory usando la descrizione dell'effetto come input.
- Creare un'istanza dell'effetto usando CompositorEffectFactory. CreateBrush.
- Impostare qualsiasi compositionEffectSourceParameter usando CompositionEffectBrush. SetSourceParameter e il nome del parametro di origine come specificato in precedenza usando compositionEffectSourceParameter.
- Creare un'istanza di SpriteVisual usando Compositor. CreateSpriteVisual.
- Impostare la proprietà Brush di SpriteVisual sull'effetto creato.
- Aggiungere SpriteVisual all'albero di composizione usando la proprietà Children di un oggetto ContainerVisual.
Proprietà
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositor utilizzato per creare questo CompositionObject. (Ereditato da CompositionObject) |
DispatcherQueue |
Ottiene dispatcherQueue per CompositionObject. (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 CompositionObject e rilascia le risorse di sistema. (Ereditato da CompositionObject) |
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. (Ereditato da CompositionObject) |
GetSourceParameter(String) |
Recupera un oggetto CompositionBrush associato a un determinato nome CompositionEffectSourceParameter . |
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 dell'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 nel 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 sulla proprietà specificata. (Ereditato da CompositionObject) |