CompositionSurfaceBrush 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 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
- 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 :
Le contenu de CompositionSurfaceBrush est étiré et aligné sur les propriétés SpriteVisual (consultez les propriétés Stretch, HorizontalAlignmentRatio et VerticalAlignmentRatio ).
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) |