Leadtools.Windows.Controls Namespace > ImageBox Class : Transform Property |
public virtual Matrix Transform {get;}
'Declaration Public Overridable ReadOnly Property Transform As Matrix
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 ImageBox = TryCast(sender, ImageBox) Dim s As String = String.Format("TransformChanged Event: {0}", viewer.Transform.ToString()) MessageBox.Show(s) End Sub Public Sub ImageBox_TransformChanged(ByVal viewer As ImageBox) 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) { ImageBox viewer = sender as ImageBox; string s = string.Format("TransformChanged Event: {0}", viewer.Transform.ToString()); MessageBox.Show(s); } public void ImageBox_TransformChanged(ImageBox 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) { ImageBox viewer = sender as ImageBox; string s = string.Format("TransformChanged Event: {0}", viewer.Transform.ToString()); MessageBox.Show(s); } public void ImageBox_TransformChanged(ImageBox 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.Windows.Controls Private Sub viewer_TransformChanged(ByVal sender As Object, ByVal e As EventArgs) Dim viewer As ImageBox = TryCast(sender, ImageBox) Dim s As String = String.Format("TransformChanged Event: {0}", viewer.Transform.ToString()) MessageBox.Show(s) End Sub Public Sub ImageBox_TransformChanged(ByVal viewer As ImageBox) 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