CompositionEffectBrush Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 le rendu de leur interface utilisateur. Il peut s’agir d’un élément aussi simple que d’ajuster les niveaux de saturation sur une image ou quelque chose de plus complexe, comme chaîner de nombreux effets ensemble et animer les 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 de l’arborescence et peuvent référencer des surfaces existantes.
Une instance de CompositionEffectBrush est créée à 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 le Microsoft. Espace de noms Graphics.Canvas.Effects (SDK d'application Windows (WinUI 3) / UWP (WinUI 2)).
Note
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 d’effets.
Un 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’effets.
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 graphique d’effet 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 :
- Créez une description d’effet. Consultez l’espace de noms Win2D, Microsoft. Espace de noms Graphics.Canvas.Effects (SDK d'application Windows (WinUI 3) / UWP (WinUI 2)), pour les types d’effets valides.
- Définissez toutes les sources d’effet avec une instance de CompositionEffectSourceParameter ou un autre effet. La spécification d’un autre effet crée une chaîne d’effets.
- Créez un CompositionEffectFactory avec Compositor. CreateEffectFactory à l’aide de la description de l’effet comme entrée.
- Créez une instance de l’effet à l’aide de CompositorEffectFactory. CreateBrush.
- 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.
- Créez une instance de SpriteVisual à l’aide de Compositor. CreateSpriteVisual.
- Définissez la propriété Brush du SpriteVisual sur l’effet créé.
- Ajoutez spriteVisual à l’arborescence de composition à l’aide de la propriété Children d’un ContainerVisual.
Propriétés
| Nom | Description |
|---|---|
| Comment |
Chaîne à associer au CompositionObject. (Hérité de CompositionObject) |
| Compositor |
Compositor utilisé pour créer ce CompositionObject. (Hérité de CompositionObject) |
| DispatcherQueue |
Obtient le DispatcherQueue pour 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
| Nom | Description |
|---|---|
| Close() |
Ferme les ressources système CompositionObject et libère. (Hérité de CompositionObject) |
| Dispose() |
Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation 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 avec la propriété spécifiée de l’objet et démarre l’animation. (Hérité de CompositionObject) |
| StartAnimation(String, CompositionAnimation) |
Connecte une animation avec 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 sont 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) |
Retourne un AnimationController pour l’animation en cours d’exécution sur la propriété spécifiée. (Hérité de CompositionObject) |