Leadtools.Windows.Controls Namespace > ImageViewer Class : Transform Property |
public virtual Matrix Transform {get;}
'Declaration Public Overridable ReadOnly Property Transform As Matrix
'Usage Dim instance As ImageViewer Dim value As Matrix value = instance.Transform
The Transform property will contain the accumulative transforms performed on the image before it is being displayed by the control. The following properties determine the final transformation of the image:
The control size
The image physical size in pixels and if using the image resolution is enabled with the UseDpi property
Any manual correction with the AspectRatioCorrection
The current zoom using the ScaleFactor property
The current display and automatic adjustment set with the SizeMode property
Image viewing transformation using the Flip, Reverse and RotateAngle properties
Although you can use the Transform property to calculate where a location or bounds on the image will be displayed on the control and vice versa using the Matrix.Transform methods, you can easily achieve this task with the control PointToImageCoordinates, BoundsToImageCoordinates, PointFromImageCoordinates and BoundsFromImageCoordinates methods
Imports Leadtools.Windows.Controls Private Sub viewer_TransformChanged(ByVal sender As Object, ByVal e As EventArgs) Dim viewer As ImageViewer = TryCast(sender, ImageViewer) Dim s As String = String.Format("TransformChanged Event: {0}", viewer.Transform.ToString()) MessageBox.Show(s) End Sub Public Sub ImageViewer_TransformChanged(ByVal viewer As ImageViewer) AddHandler viewer.TransformChanged, AddressOf viewer_TransformChanged Select Case viewer.SizeMode Case SizeMode.Fit viewer.SizeMode = SizeMode.FitAlways Case SizeMode.FitAlways viewer.SizeMode = SizeMode.FitWidth Case SizeMode.FitWidth viewer.SizeMode = SizeMode.Normal Case SizeMode.Normal viewer.SizeMode = SizeMode.Stretch Case SizeMode.Stretch viewer.SizeMode = SizeMode.Fit End Select RemoveHandler viewer.TransformChanged, AddressOf viewer_TransformChanged End Sub
using Leadtools.Help; using Leadtools.Windows.Controls; private void viewer_TransformChanged(object sender, EventArgs e) { ImageViewer viewer = sender as ImageViewer; string s = string.Format("TransformChanged Event: {0}", viewer.Transform.ToString()); MessageBox.Show(s); } public void ImageViewer_TransformChanged(ImageViewer viewer) { viewer.TransformChanged += new EventHandler(viewer_TransformChanged); switch (viewer.SizeMode) { case SizeMode.Fit: viewer.SizeMode = SizeMode.FitAlways; break; case SizeMode.FitAlways: viewer.SizeMode = SizeMode.FitWidth; break; case SizeMode.FitWidth: viewer.SizeMode = SizeMode.Normal; break; case SizeMode.Normal: viewer.SizeMode = SizeMode.Stretch; break; case SizeMode.Stretch: viewer.SizeMode = SizeMode.Fit; break; } viewer.TransformChanged -= new EventHandler(viewer_TransformChanged); }
using Leadtools.Help; using Leadtools.Windows.Controls; private void viewer_TransformChanged(object sender, EventArgs e) { ImageViewer viewer = sender as ImageViewer; string s = string.Format("TransformChanged Event: {0}", viewer.Transform.ToString()); MessageBox.Show(s); } public void ImageViewer_TransformChanged(ImageViewer viewer) { viewer.TransformChanged += new EventHandler(viewer_TransformChanged); switch (viewer.SizeMode) { case SizeMode.Fit: viewer.SizeMode = SizeMode.FitAlways; break; case SizeMode.FitAlways: viewer.SizeMode = SizeMode.FitWidth; break; case SizeMode.FitWidth: viewer.SizeMode = SizeMode.Normal; break; case SizeMode.Normal: viewer.SizeMode = SizeMode.Stretch; break; case SizeMode.Stretch: viewer.SizeMode = SizeMode.Fit; break; } viewer.TransformChanged -= new EventHandler(viewer_TransformChanged); }
Imports Leadtools Imports Leadtools.Windows.Controls Private Sub viewer_TransformChanged(ByVal sender As Object, ByVal e As EventArgs) Dim viewer As ImageViewer = TryCast(sender, ImageViewer) Dim s As String = String.Format("TransformChanged Event: {0}", viewer.Transform.ToString()) MessageBox.Show(s) End Sub Public Sub ImageViewer_TransformChanged(ByVal viewer As ImageViewer) AddHandler viewer.TransformChanged, AddressOf viewer_TransformChanged Select Case viewer.SizeMode Case SizeMode.Fit viewer.SizeMode = SizeMode.FitAlways Case SizeMode.FitAlways viewer.SizeMode = SizeMode.FitWidth Case SizeMode.FitWidth viewer.SizeMode = SizeMode.Normal Case SizeMode.Normal viewer.SizeMode = SizeMode.Stretch Case SizeMode.Stretch viewer.SizeMode = SizeMode.Fit End Select RemoveHandler viewer.TransformChanged, AddressOf viewer_TransformChanged End Sub