Freigeben über


Stroke.Transform-Methode (Matrix)

Wendet eine lineare Transformation auf ein Stroke-Objekt an, wobei die Stiftbreite nicht verändert wird.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Sub Transform ( _
    inkTransform As Matrix _
)
'Usage
Dim instance As Stroke
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
)

Parameter

Hinweise

Die Transformation wird auf die Punkte, jedoch nicht auf die Stiftbreite angewendet. Um einen Wert festzulegen, der die Stiftbreite der Transformation beinhaltet, verwenden Sie die Transform(Matrix, Boolean)-Überladung dieser Methode.

Die lineare Transformation kann Skalierung, Drehung, Verschiebung und Kombinationen von Transformationen darstellen.

Beispiele

In diesem C#-Beispiel wird ein Stroke-Objekt namens theStroke um 180 Grad um den Mittelpunkt des umgebenden Rechtecks des Stroke-Objekts gedreht.

using System.Drawing.Drawing2D;
//...
Matrix inkTransform = new Matrix();
Rectangle inkBounds = theStroke.GetBoundingBox();
PointF center = new PointF(0.5f * (inkBounds.Left + inkBounds.Right),
                           0.5f * (inkBounds.Top + inkBounds.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 stroke
theStroke.Transform(inkTransform);

In diesem Microsoft Visual Basic .NET-Beispiel wird ein Stroke-Objekt namens theStroke um 180 Grad um den Mittelpunkt des umgebenden Rechtecks des Stroke-Objekts gedreht.

Imports System.Drawing.Drawing2D
'...
Dim inkTransform As New Matrix()
Dim inkBounds As Rectangle = theStroke.GetBoundingBox()
Dim center As New PointF(0.5F * (inkBounds.Left + inkBounds.Right), _
                         0.5F * (inkBounds.Top + inkBounds.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 stroke
theStroke.Transform(inkTransform)
n

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

Stroke-Klasse

Stroke-Member

Transform-Überladung

Microsoft.Ink-Namespace

Transform

Stroke.Move

Stroke.Rotate

Strokes.Transform