Strokes.Transform, méthode (Matrix)
Mise à jour : November 2007
Applique une transformation linéaire à une collection Strokes sans affecter la largeur du stylet.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Public Sub Transform ( _
inkTransform As Matrix _
)
'Utilisation
Dim instance As Strokes
Dim inkTransform As Matrix
instance.Transform(inkTransform)
public void Transform(
Matrix inkTransform
)
public:
void Transform(
Matrix^ inkTransform
)
public void Transform(
Matrix inkTransform
)
public function Transform(
inkTransform : Matrix
)
Paramètres
- inkTransform
Type : System.Drawing.Drawing2D.Matrix
Transformation System.Drawing.Drawing2D.Matrix (page pouvant être en anglais) à utiliser sur la collection Strokes.
Notes
La transformation s'applique aux points, mais pas à la largeur du stylet. Pour définir une valeur qui inclut la largeur du stylet dans la transformation, utilisez la surcharge Transform(Matrix, Boolean) de cette méthode.
La transformation linéaire peut être une mise à l'échelle, une rotation, une translation et une combinaison de transformations.
Exemples
Dans cet exemple, la collection Strokes attachée à un objet InkOverlay pivote de 180 degrés. La rotation se produit autour du centre du cadre englobant de la collection Strokes.
' Access to the Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
Dim inkTransform As Matrix = New Matrix()
Dim bounds As Rectangle = allStrokes.GetBoundingBox()
Dim center As PointF = _
New PointF(0.5F * (bounds.Left + bounds.Right), _
0.5F * (bounds.Top + bounds.Bottom))
' Translate to center of bounding box
inkTransform.Translate(center.X, center.Y)
' Rotate by 180 degrees
inkTransform.Rotate(180.0F)
' Translate back
inkTransform.Translate(-center.X, -center.Y)
' Transform strokes
allStrokes.Transform(inkTransform)
End Using
// Access to the Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
Matrix inkTransform = new Matrix();
Rectangle bounds = allStrokes.GetBoundingBox();
PointF center = new PointF(0.5f * (bounds.Left + bounds.Right),
0.5f * (bounds.Top + bounds.Bottom));
// Translate to center of bounding box
inkTransform.Translate(center.X, center.Y);
// Rotate by 180 degrees
inkTransform.Rotate(180f);
// Translate back
inkTransform.Translate(-center.X, -center.Y);
// Transform strokes
allStrokes.Transform(inkTransform);
}
Plateformes
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.
Informations de version
.NET Framework
Pris en charge dans : 3.0