Strokes.Transform-Methode (Matrix)
Wendet eine lineare Transformation auf eine Strokes-Auflistung 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 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
)
Parameter
- inkTransform
Typ: System.Drawing.Drawing2D.Matrix
Die System.Drawing.Drawing2D.Matrix-Transformation, die auf die Strokes-Auflistung angewendet werden soll.
Hinweise
Die Transformation wird auf die Punkte, jedoch nicht auf die Stiftbreite angewendet. Verwenden Sie die Transform(Matrix, Boolean)-Überladung dieser Methode, um einen Wert festzulegen, der die Stiftbreite der Transformation beinhaltet.
Die lineare Transformation kann Skalierung, Drehung, Verschiebung und Kombinationen von Transformationen darstellen.
Beispiele
In diesem Beispiel wird die Strokes-Auflistung, die an ein InkOverlay-Objekt angehängt ist, um 180 Grad gedreht. Die Drehung erfolgt um den Mittelpunkt des umgebenden Felds der Strokes-Auflistung.
' 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);
}
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