Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ScaleTransform, classe

Mise à jour : novembre 2007

Met à l'échelle un objet dans le système de coordonnées x-y 2D

Espace de noms :  System.Windows.Media
Assembly :  PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

public sealed class ScaleTransform : Transform
public final class ScaleTransform extends Transform
public final class ScaleTransform extends Transform

Utilisez un ScaleTransform pour étirer ou réduire un objet horizontalement ou verticalement. La propriété ScaleX de combien étirer ou réduire un objet le long de l'axe X, et la propriété ScaleY spécifie de combien étirer ou réduire un objet le long de l'axe Y. Les opérations d'échelle sont centrées sur le point spécifié par les propriétés CenterX et CenterY.

Fonctionnalités Freezable : dans la mesure où elle hérite de la classe Freezable, la classe ScaleTransform propose plusieurs fonctionnalités spéciales : les objets ScaleTransform peuvent être déclarés en tant que ressources, partagés entre plusieurs objets, définis en lecture seule pour améliorer les performances, clonés et thread-safe. Pour plus d'informations sur les différentes fonctionnalités fournies par les objets Freezable, consultez Vue d'ensemble des objets Freezable.

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 spécifié. Par exemple, une valeur ScaleX de 1.5 étire l'élément à 150 % de sa largeur d'origine. Une valeur ScaleY de 0.5 diminue la hauteur d'un élément de 50 %.

Utilisez les propriétés CenterX et CenterY pour spécifier le point correspondant au centre de l'opération de mise à l'échelle. Par défaut, un ScaleTransform est centré au point (0,0), c'est-à-dire à l'angle supérieur gauche du rectangle. L'élément est ainsi déplacé et paraît plus grand, car lorsque vous appliquez un Transform, vous modifiez l'espace de coordonnées dans lequel l'objet réside.

L'exemple suivant utilise un ScaleTransform pour doubler la taille d'un Rectangle de 50 par 50. Le ScaleTransform a une valeur de 0 (la valeur par défaut) pour CenterX et CenterY.

<!-- 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 général, vous définissez CenterX et CenterY sur le centre de l'objet mis à l'échelle : (Width/2, Height/2).

L'exemple suivant affiche un autre Rectangle dont la taille est doublée. Toutefois, ce ScaleTransform a une valeur de 25 pour CenterX et CenterY, ce 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 valeurs ScaleX et ScaleY identiques, mais centres différents

Échelles de 2x avec différents points centraux

Pour l'exemple complet, consultez Transformations 2D, exemple.

Davantage de code

Comment : retourner un UIElement horizontalement ou verticalementCet exemple explique comment utiliser ScaleTransform pour retourner un UIElement horizontalement ou verticalement. Dans cet exemple, un contrôle Button (un type de UIElement) est retourné en appliquant un ScaleTransform à sa propriété RenderTransform.
Comment : animer la taille d'un FrameworkElementPour animer la taille d'un FrameworkElement, vous pouvez animer ses propriétés Width et Height ou utiliser un ScaleTransform animé.
Comment : appliquer une transformation à un élément lorsqu'un événement se produitCet exemple montre comment appliquer un ScaleTransform lorsqu'un événement se produit. Le concept présenté ici est le même que vous utilisez pour l'application d'autres types de transformations. Pour plus d'informations sur les types de transformations disponibles, consultez la classe Transform ou Vue d'ensemble des transformations.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.