Partager via


CompositionSurfaceBrush Classe

Définition

Peint un SpriteVisual avec des pixels d’un ICompositionSurface.

public ref class CompositionSurfaceBrush 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 CompositionSurfaceBrush 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 CompositionSurfaceBrush : CompositionBrush
Public NotInheritable Class CompositionSurfaceBrush
Inherits CompositionBrush
Héritage
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v2.0)

Exemples

Dessiner une ressource d’image sur un SpriteVisual

private SpriteVisual CreateImageVisual(ICompositionSurface imageSurface)
{
  SpriteVisual imageVisual = _compositor.CreateSpriteVisual();
  imageVisual.Size = new Vector2(300, 200);

  CompositionSurfaceBrush imageBrush = _compositor.CreateSurfaceBrush();
  imageBrush.Surface = imageSurface;

  // specify CompositionStretch on SurfaceBrush and horizontal/vertical alignment
  imageBrush.Stretch = CompositionStretch.UniformToFill;
  imageBrush.HorizontalAlignmentRatio = 0.5f;
  imageBrush.VerticalAlignmentRatio = 0.5f;

  imageVisual.Brush = imageBrush;
  return imageVisual;
}

Appliquer une animation de transformation de mise à l’échelle personnalisée à une CompositionSurfaceBrush

private void AnimateBrushScale(SpriteVisual imageVisual)
{
  CompositionSurfaceBrush imageBrush = (CompositionSurfaceBrush)imageVisual.Brush;

  // set brush CenterPoint at the center of the content painted onto imageVisual 
  imageBrush.CenterPoint = imageVisual.Size / 2;

  // set up scale keyframe animation
  CompositionScopedBatch batch = _compositor.CreateScopedBatch(CompositionBatchTypes.Animation);
  Vector2KeyFrameAnimation scaleAnimation = _compositor.CreateVector2KeyFrameAnimation();
  scaleAnimation.InsertKeyFrame(1.0f, new Vector2(1.5f));
  scaleAnimation.Duration = TimeSpan.FromMilliseconds(500);

  // start animation on CompositionSurfaceBrush.Scale
  imageBrush.StartAnimation("Scale", scaleAnimation);

  // end animation batch and fire completion event
  batch.End();
  batch.Completed += ScaleAnimationBatch_Completed;
} 

Remarques

La propriété Stretch, conjointement avec les propriétés HorizontalAlignmentRatio et VerticalAlignmentRatio, est utilisée pour spécifier l’échelle et le positionnement du contenu de CompositionSurfaceBrush lorsqu’il est peint sur un SpriteVisual.

CompositionSurfaceBrush possède également les propriétés suivantes qui permettent des transformations personnalisées :

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • Scale
  • TransformMatrix

L’ordre des opérations de transformation sur une CompositionSurfaceBrush est le suivant :

  1. Le contenu de CompositionSurfaceBrush est étiré et aligné sur les propriétés SpriteVisual (consultez les propriétés Stretch, HorizontalAlignmentRatio et VerticalAlignmentRatio ).

  2. Toutes les autres propriétés de transformation définies sur CompositionSurfaceBrush sont appliquées.

    Les transformations personnalisées appliquées à une CompositionSurfaceBrush sont donc évaluées dans l’espace de coordonnées du SpriteVisual sur lequel le pinceau est peint. Par exemple, la définition d’un décalage de Vector2(100, 0) décale le contenu étiré et aligné du pinceau de 100 unités à droite par rapport au bord gauche du SpriteVisual sur lequel il est peint.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1607 14393 AnchorPoint
1607 14393 CenterPoint
1607 14393 Offset
1607 14393 RotationAngle
1607 14393 RotationAngleInDegrees
1607 14393 Scale
1607 14393 TransformMatrix
1903 18362 SnapToPixels

Propriétés

AnchorPoint

Point sur le pinceau à positionner au décalage du pinceau. La valeur est normalisée par rapport à la taille du SpriteVisual.

BitmapInterpolationMode

Spécifie l’algorithme utilisé pour interpoler les pixels à partir d’ICompositionSurface lorsqu’ils ne forment pas un mappage un-à-un avec des pixels sur SpriteVisual (comme cela peut se produire lors de l’étirement, de l’échelle, de la rotation et d’autres transformations).

CenterPoint

Point au sujet duquel le pinceau est pivoté et mis à l’échelle.

Comment

Chaîne à associer à CompositionObject.

(Hérité de CompositionObject)
Compositor

Compositor utilisé pour créer cet Objet CompositionObject.

(Hérité de CompositionObject)
Dispatcher

Répartiteur pour compositionObject.

(Hérité de CompositionObject)
DispatcherQueue

Obtient le DispatcherQueue pour CompostionObject.

(Hérité de CompositionObject)
HorizontalAlignmentRatio

Contrôle le positionnement de l’axe vertical du contenu par rapport à l’axe vertical de SpriteVisual. La valeur est limitée de 0.0f à 1.0f, 0.0f représentant le bord vertical gauche et 1.0f représentant le bord vertical droit du SpriteVisual.

ImplicitAnimations

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

(Hérité de CompositionObject)
Offset

Décalage du pinceau par rapport à son SpriteVisual.

Properties

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

(Hérité de CompositionObject)
RotationAngle

Angle de rotation, en radians, du pinceau.

RotationAngleInDegrees

Angle de rotation, en degrés, du pinceau.

Scale

Échelle à appliquer au pinceau.

SnapToPixels

Obtient ou définit une valeur qui indique si le pinceau de surface s’aligne sur les pixels.

Stretch

Contrôle la mise à l’échelle appliquée au contenu de ICompositionSurface en ce qui concerne la taille du SpriteVisual en cours de peinture.

Surface

ICompositionSurface associé à CompositionSurfaceBrush.

TransformMatrix

Matrice de transformation à appliquer au pinceau.

VerticalAlignmentRatio

Contrôle le positionnement de l’axe horizontal du contenu par rapport à l’axe horizontal du SpriteVisual. La valeur est limitée de 0,0f à 1.0f, 0.0f représentant le bord horizontal supérieur et 1.0f représentant le bord horizontal inférieur du SpriteVisual. La valeur par défaut est 0,5f.

Méthodes

Close()

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

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

Connecte et animation.

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

Déconnecte une animation.

(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)
PopulatePropertyInfo(String, AnimationPropertyInfo)

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

(Hérité de CompositionObject)
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