Strokes.Transform, méthode (Matrix, Boolean)
Mise à jour : November 2007
Applique une transformation linéaire à une collection Strokes, avec la possibilité d'appliquer la transformation à 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, _
applyOnPenWidth As Boolean _
)
'Utilisation
Dim instance As Strokes
Dim inkTransform As Matrix
Dim applyOnPenWidth As Boolean
instance.Transform(inkTransform, applyOnPenWidth)
public void Transform(
Matrix inkTransform,
bool applyOnPenWidth
)
public:
void Transform(
Matrix^ inkTransform,
bool applyOnPenWidth
)
public void Transform(
Matrix inkTransform,
boolean applyOnPenWidth
)
public function Transform(
inkTransform : Matrix,
applyOnPenWidth : boolean
)
Paramètres
- inkTransform
Type : System.Drawing.Drawing2D.Matrix
Transformation System.Drawing.Drawing2D.Matrix (page pouvant être en anglais) à utiliser sur la collection Strokes.
- applyOnPenWidth
Type : System.Boolean
Valeur booléenne qui indique s'il faut appliquer la transformation à l'épaisseur de l'entrée manuscrite dans la propriété DrawingAttributes des objets Stroke dans la collection Strokes.Valeur
Signification
true
La transformation s'applique à la fois aux points et à la largeur du stylet.
false
La transformation s'applique uniquement aux points.
Notes
La transformation linéaire peut être une mise à l'échelle, une rotation, une translation et une combinaison de transformations.
Si la largeur du stylet est mise à l'échelle convenablement pour la transformation, la largeur du stylet dessinée est calculée en multipliant la largeur du stylet spécifiée (par défaut 53, si non spécifiée) par la racine carrée du déterminant de la transformation.
Exemples
Dans cet exemple, la collection Strokes attachée à un objet InkOverlay est mise à l'échelle par un facteur de deux. La mise à l'échelle se produit autour du centre du cadre englobant de la collection Strokes. La largeur de l'entrée manuscrite est également mise à l'échelle selon un facteur de deux.
' 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)
' Scale by factor of 2
inkTransform.Scale(2.0F, 2.0F)
' Translate back
inkTransform.Translate(-center.X, -center.Y)
' Transform strokes
allStrokes.Transform(inkTransform, True)
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);
// Scale by factor of 2
inkTransform.Scale(2.0F, 2.0F);
// Translate back
inkTransform.Translate(-center.X, -center.Y);
// Transform strokes
allStrokes.Transform(inkTransform, true);
}
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