Partager via


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

  • 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

Voir aussi

Référence

Strokes, classe

Membres Strokes

Transform, surcharge

Microsoft.Ink, espace de noms

Strokes.Scale

Strokes.Move

Strokes.Rotate

Stroke.Transform