Leadtools.WinForms Namespace > RasterImageViewer Class : MagnifyGlass Property |
[BrowsableAttribute(false)] public virtual RasterMagnifyGlass MagnifyGlass {get; set;}
'Declaration <BrowsableAttribute(False)> Public Overridable Property MagnifyGlass As RasterMagnifyGlass
'Usage Dim instance As RasterImageViewer Dim value As RasterMagnifyGlass instance.MagnifyGlass = value value = instance.MagnifyGlass
[BrowsableAttribute(false)] public: virtual property RasterMagnifyGlass^ MagnifyGlass { RasterMagnifyGlass^ get(); void set ( RasterMagnifyGlass^ value); }
Use the AutoInteractiveMagnifyGlass property to control whether the magnifying glass only appears when the current interactive button is down.
You can derive your own class from RasterMagnifyGlass, and then set this property to an instance of that class to perform your own Magnifying Glass processing (for example, change the way the crosshair is displayed).
Imports Leadtools.WinForms Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Color Imports Leadtools.Drawing Private Class MyRasterMagnifyGlass : Inherits RasterMagnifyGlass Public Sub New() Shape = RasterMagnifyGlassShape.Border3D End Sub Protected Overrides Sub OnPaintBorder(ByVal graphics As Graphics, ByVal centerPoint As Point) Dim width As Integer = (Size.Width - 2) \ 2 Dim height As Integer = (Size.Height - 2) \ 2 Dim rc As Rectangle = New Rectangle(centerPoint.X - width, centerPoint.Y - height, 2 * width, 2 * height) graphics.DrawRectangle(Pens.Blue, rc) End Sub Protected Overrides Sub OnPaintCrosshair(ByVal graphics As Graphics, ByVal centerPoint As Point) Dim width As Integer = (Size.Width - 2) \ 2 Dim height As Integer = (Size.Height - 2) \ 2 Dim p1 As Point = New Point(centerPoint.X - width, centerPoint.Y - height) Dim p2 As Point = New Point(centerPoint.X + width, centerPoint.Y + height) graphics.DrawLine(Pens.Red, p1, p2) p1 = New Point(centerPoint.X + width, centerPoint.Y - height) p2 = New Point(centerPoint.X - width, centerPoint.Y + height) graphics.DrawLine(Pens.Red, p1, p2) End Sub End Class Private Sub viewer_MagnifyGlassChanged(ByVal sender As Object, ByVal e As EventArgs) MessageBox.Show("Custom Magnify Glass being used -- red X for crosshair, blue for border") End Sub Public Sub RasterImageViewer_MagnifyGlass(ByVal viewer As RasterImageViewer) AddHandler viewer.MagnifyGlassChanged, AddressOf viewer_MagnifyGlassChanged viewer.MagnifyGlass = New MyRasterMagnifyGlass() viewer.InteractiveMode = RasterViewerInteractiveMode.MagnifyGlass RemoveHandler viewer.MagnifyGlassChanged, AddressOf viewer_MagnifyGlassChanged End Sub
using Leadtools.WinForms; using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Color; using Leadtools.Drawing; class MyRasterMagnifyGlass : RasterMagnifyGlass { public MyRasterMagnifyGlass() { Shape = RasterMagnifyGlassShape.Border3D; } protected override void OnPaintBorder(Graphics graphics, Point centerPoint) { int width = (Size.Width - 2) / 2; int height = (Size.Height - 2) / 2; Rectangle rc = new Rectangle(centerPoint.X - width, centerPoint.Y - height, 2*width, 2*height); graphics.DrawRectangle(Pens.Blue, rc); } protected override void OnPaintCrosshair(Graphics graphics, Point centerPoint) { int width = (Size.Width - 2) / 2; int height = (Size.Height - 2) / 2; Point p1 = new Point(centerPoint.X - width, centerPoint.Y - height); Point p2 = new Point(centerPoint.X + width, centerPoint.Y + height); graphics.DrawLine(Pens.Red, p1, p2); p1 = new Point(centerPoint.X + width, centerPoint.Y - height); p2 = new Point(centerPoint.X - width, centerPoint.Y + height); graphics.DrawLine(Pens.Red, p1, p2); } } private void viewer_MagnifyGlassChanged(object sender, EventArgs e) { MessageBox.Show("Custom Magnify Glass being used -- red X for crosshair, blue for border"); } public void RasterImageViewer_MagnifyGlass(RasterImageViewer viewer) { viewer.MagnifyGlassChanged+= new EventHandler(viewer_MagnifyGlassChanged); viewer.MagnifyGlass = new MyRasterMagnifyGlass(); viewer.InteractiveMode = RasterViewerInteractiveMode.MagnifyGlass; viewer.MagnifyGlassChanged -= new EventHandler(viewer_MagnifyGlassChanged); }