Leadtools.Annotations Namespace > AnnObject Class : Transform Property |
Each annotation object has a transformation matrix associated with it. You can perform various operations on this matrix by calling ResetTransform, Translate, Scale and Rotate.
Derived annotation objects can control the transformation operation by overriding the TransformObjectMode property.
Imports Leadtools Imports Leadtools.Annotations Imports Leadtools.Codecs Imports Leadtools.WinForms Imports Leadtools.Drawing Private Sub AnnObject_Transform(ByVal obj As AnnObject) ' show the matrix ShowMatrix(obj.Transform) obj.Translate(2, 3) ShowMatrix(obj.Transform) obj.Scale(1.5F, 1.5F, obj.Origin) ShowMatrix(obj.Transform) obj.Rotate(45, obj.Origin) ShowMatrix(obj.Transform) obj.ResetTransform() ShowMatrix(obj.Transform) End Sub Private Sub ShowMatrix(ByVal mat As Matrix) Dim index As Integer = 0 For i As Integer = 0 To 2 For j As Integer = 0 To 1 Console.Write("{0}, ", mat.Elements(index)) index += 1 Next j If i = 2 Then Console.WriteLine("{0}", "1") Else Console.WriteLine("{0}", "0") End If Console.WriteLine("---------") Next i End Sub
using Leadtools; using Leadtools.Annotations; using Leadtools.Codecs; using Leadtools.WinForms; using Leadtools.Drawing; private void AnnObject_Transform(AnnObject obj) { // show the matrix ShowMatrix(obj.Transform); obj.Translate(2, 3); ShowMatrix(obj.Transform); obj.Scale(1.5F, 1.5F, obj.Origin); ShowMatrix(obj.Transform); obj.Rotate(45, obj.Origin); ShowMatrix(obj.Transform); obj.ResetTransform(); ShowMatrix(obj.Transform); } private void ShowMatrix(Matrix mat) { int index = 0; for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) Console.Write("{0}, ", mat.Elements[index++]); Console.WriteLine("{0}", i == 2 ? "1" : "0"); Console.WriteLine("---------"); } }