Partager via


CompositionEffectBrush Classe

Définition

Peint un SpriteVisual avec la sortie d’un effet de filtre. La description de l’effet de filtre est définie à l’aide de 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
Héritage
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionEffectBrush
Attributs

Exemples

// 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); 

Remarques

Les API d’effet permettent aux développeurs de personnaliser l’affichage de leur interface utilisateur. Cela peut être quelque chose d’aussi simple que d’ajuster les niveaux de saturation sur une image ou quelque chose de plus complexe comme le chaînage de nombreux effets ensemble et l’animation des propriétés d’effet pour créer des transitions d’application intéressantes et des expériences utilisateur. Un effet de composition est un graphique d’opérations qui définissent comment produire du contenu graphique en fonction des surfaces de composition. Par exemple, le contenu en pixels des images. Les effets sont appliqués aux visuels dans l’arborescence et peuvent référencer des surfaces existantes.

Un instance de CompositionEffectBrush est créé à l’aide d’une CompositionEffectFactory basée sur une description d’effet spécifiée. CompositionEffectFactory utilise le format de description de l’effet Win2D dans l’espace de noms Microsoft.Graphics.Canvas.Effects (WinAppSDK (WinUI 3) / UWP (WinUI 2)).

Notes

Les effets qui ne sont pas pris en charge sont marqués comme [NoComposition] dans la référence de l’API Win2D pour l’espace de noms effets.

Un Objet CompositionEffectBrush est appliqué à un SpriteVisual dans l’arborescence de composition.

Les sources de CompositionEffectBrush peuvent être une surface ou une texture existante, ou un autre effet permettant le chaînage d’effet.

CompositionEffectBrush.Properties (hérité de CompositionObject.Properties) permet de définir ou d’animer les propriétés animatables spécifiées dans l’appel à Compositor. CreateEffectFactory à l’aide de leur nom complet « EffectName.PropertyName ».

Les sources d’effet peuvent être définies indépendamment des autres instances CompositionEffectBrush, et les propriétés peuvent être animées indépendamment des autres instances CompositionEffectBrush.

Une fois qu’un graphe d’effets est déclaré, le système compile l’effet à l’aide de nuanceurs intégrés. Les nuanceurs personnalisés ne peuvent pas être spécifiés.

Création d’une compositionEffect

Pour créer et appliquer un effet, vous devez effectuer les étapes suivantes :

  1. Créez une description d’effet. Consultez l’espace de noms Win2D , Microsoft.Graphics.Canvas.Effects (WinAppSDK (WinUI 3) / UWP (WinUI 2)), pour connaître les types d’effets valides.
  2. Définissez toutes les sources d’effets avec un instance de CompositionEffectSourceParameter ou un autre effet. La spécification d’un autre effet crée une chaîne d’effets.
  3. Créez un CompositionEffectFactory avec Compositor. CreateEffectFactory en utilisant la description de l’effet comme entrée.
  4. Créez une instance de l’effet à l’aide de CompositorEffectFactory.CreateBrush.
  5. Définissez n’importe quelle CompositionEffectSourceParameter à l’aide de CompositionEffectBrush. SetSourceParameter et le nom du paramètre source comme spécifié précédemment à l’aide d’une CompositionEffectSourceParameter.
  6. Créez un instance de SpriteVisual à l’aide de Compositor.CreateSpriteVisual.
  7. Définissez la propriété Brush du SpriteVisual sur l’effet créé.
  8. Ajoutez spriteVisual à l’arborescence de composition à l’aide de la propriété Children d’un ContainerVisual.

Propriétés

Comment

Chaîne à associer à CompositionObject.

(Hérité de CompositionObject)
Compositor

Compositor utilisé pour créer cet Objet CompositionObject.

(Hérité de CompositionObject)
DispatcherQueue

Obtient le DispatcherQueue pour l’objet CompositionObject.

(Hérité de CompositionObject)
ImplicitAnimations

Collection d’animations implicites attachées à cet objet.

(Hérité de CompositionObject)
Properties

Collection de propriétés associées à CompositionObject.

(Hérité de CompositionObject)

Méthodes

Close()

Ferme l’objet CompositionObject et libère les ressources système.

(Hérité de CompositionObject)
Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

(Hérité de CompositionObject)
GetSourceParameter(String)

Récupère un CompositionBrush associé à un nom CompositionEffectSourceParameter donné.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de CompositionObject)
SetSourceParameter(String, CompositionBrush)

Associe un nom déclaré à l’aide de CompositionEffectSourceParameter à une source d’effet.

StartAnimation(String, CompositionAnimation, AnimationController)

Connecte une animation à la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation)

Connecte une animation à la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Démarre un groupe d’animations.

La méthode StartAnimationGroup sur CompositionObject vous permet de démarrer CompositionAnimationGroup. Toutes les animations du groupe seront démarrées en même temps sur l’objet.

(Hérité de CompositionObject)
StopAnimation(String)

Déconnecte une animation de la propriété spécifiée et arrête l’animation.

(Hérité de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arrête un groupe d’animations.

(Hérité de CompositionObject)
TryGetAnimationController(String)

Renvoie un AnimationController pour l’animation en cours d’exécution sur la propriété spécifiée.

(Hérité de CompositionObject)

S’applique à

Voir aussi