Strokes.Transform-Methode (Matrix, Boolean)
Wendet eine lineare Transformation auf eine Strokes-Auflistung an, wobei die Möglichkeit besteht, diese Transformation auf die Stiftbreite anzuwenden.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Sub Transform ( _
inkTransform As Matrix, _
applyOnPenWidth As Boolean _
)
'Usage
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
)
Parameter
- inkTransform
Typ: System.Drawing.Drawing2D.Matrix
Die System.Drawing.Drawing2D.Matrix-Transformation, die auf die Strokes-Auflistung angewendet werden soll.
- applyOnPenWidth
Typ: System.Boolean
Der boolesche Wert, der angibt, ob die Transformation auf die Breite der Freihandeingabe in den DrawingAttributes desStroke-Objekts in der Strokes-Auflistung angewendet werden soll.Wert
Bedeutung
true
Die Transformation wird auf die Punkte und die Stiftbreite angewendet.
false
Die Transformation wird nur auf die Punkte angewendet.
Hinweise
Die lineare Transformation kann Skalierung, Drehung, Verschiebung und Kombinationen von Transformationen darstellen.
Wenn die Stiftbreite für die Transformation entsprechend skaliert wird, wird die gezeichnete Stiftbreite berechnet, indem die angegebene Stiftbreite (oder die Standardbreite 53, falls keine Breite angegeben wird) mit der Quadratwurzel der Transformationsdeterminanten multipliziert wird.
Beispiele
In diesem Beispiel wird die Strokes-Auflistung, die an ein InkOverlay-Objekt angehängt ist, um den Faktor zwei skaliert. Die Skalierung erfolgt um den Mittelpunkt des umgebenden Felds der Strokes-Auflistung. Außerdem wird die Breite der Freihandeingabe um den Faktor 2 skaliert.
' 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);
}
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