Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.2
|
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.
This example will perform various transformation on an annotation object then shows its transformation matrix.
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("---------"); } }