LEADTOOLS Windows Forms (Leadtools.WinForms assembly)
LEAD Technologies, Inc

MagnifyGlass Property

Example 





Gets or sets the RasterMagnifyGlass object used to perform Magnifying Glass operations for this RasterImageViewer.
Syntax
[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 RasterMagnifyGlass MagnifyGlass {get; set;}
BrowsableAttribute()
 get_MagnifyGlass();
set_MagnifyGlass(value);
[BrowsableAttribute(false)]
public:
virtual property RasterMagnifyGlass^ MagnifyGlass {
   RasterMagnifyGlass^ get();
   void set (    RasterMagnifyGlass^ value);
}

Property Value

The RasterMagnifyGlass object used to perform Magnifying Glass operations for this RasterImageViewer.
Remarks

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).

Example
 
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
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);
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImageViewer Class
RasterImageViewer Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.