Stroke.Transform Method (Matrix)
Applies a linear transformation to a Stroke object, not affecting the pen width.
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
)
Not applicable.
Parameters
- inkTransform
The System.Drawing.Drawing2D.Matrix transform to use on the Stroke object.
Remarks
The transformation applies to the points, but not the pen width. To set a value that includes the pen width in the transformation, use the Transform(Matrix,Boolean) overload of this method.
The linear transform can represent scaling, rotation, translation, and combinations of transformations.
Example
This C# example rotates a Stroke object, theStroke
, by 180 degrees around the center of the Stroke object's bounding box.
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);
This Microsoft® Visual Basic® .NET example rotates a Stroke object, theStroke
, by 180 degrees around the center of the Stroke object's bounding box.
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
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
Stroke Class
Stroke Members
Microsoft.Ink Namespace
Transform
Stroke.Move
Stroke.Rotate
Microsoft.Ink.Strokes.Transform