Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple montre comment utiliser un ScaleTransform pour mettre à l’échelle un élément.
Utilisez les propriétés ScaleX et ScaleY pour redimensionner l’élément selon le facteur que vous spécifiez. Par exemple, une valeur ScaleX de 1,5 étire l’élément à 150 % de sa largeur d’origine. Une valeur ScaleY de 0,5 réduit la hauteur d’un élément de 50 %.
Utilisez les propriétés CenterX et CenterY pour spécifier le point qui est le centre de l’opération d’échelle. Par défaut, une ScaleTransform est centrée au point (0,0), qui correspond au coin supérieur gauche du rectangle. Cela a pour effet de déplacer l’élément et de le rendre plus grand, car lorsque vous appliquez un Transform, vous modifiez l’espace de coordonnées dans lequel réside l’objet.
L’exemple suivant utilise un ScaleTransform pour doubler la taille d’un Rectanglede 50 par 50 . Le ScaleTransform a la valeur 0 (valeur par défaut) pour CenterX et CenterY.
Exemple :
<!-- Scales a rectangle by 200% from a center of (0,0).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Stroke="Blue" StrokeThickness="2"
Canvas.Left="100" Canvas.Top="100">
<Rectangle.RenderTransform>
<ScaleTransform CenterX="0" CenterY="0" ScaleX="2" ScaleY="2" />
</Rectangle.RenderTransform>
</Rectangle>
En règle générale, vous définissez CenterX et CenterY au centre de l’objet mis à l’échelle : (Width/2, Height/2).
L’exemple suivant montre une autre Rectangle qui est doublée en taille ; toutefois, cette ScaleTransform a une valeur de 25 pour CenterX et CenterY, qui correspond au centre du rectangle.
<!-- Scales a rectangle by 200% from a center of (25,25).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2">
<Rectangle.RenderTransform>
<ScaleTransform CenterX="25" CenterY="25" ScaleX="2" ScaleY="2" />
</Rectangle.RenderTransform>
</Rectangle>
L’illustration suivante montre la différence entre les deux opérations ScaleTransform. La ligne en pointillés affiche la taille et la position du rectangle avant la mise à l’échelle.
Deux opérations ScaleTransform avec des valeurs ScaleX et ScaleY identiques, mais des centres différents
Pour obtenir l’exemple complet, consultez exemple de transformation 2D.
Voir aussi
- Transform
- ScaleTransform
- Vue d’ensemble des transformations
- Sujets de type "comment faire"
.NET Desktop feedback