Gets and sets the
RasterMagnifyGlass object used to perform Magnifying Glass operations for this
RasterImageViewer.
Syntax
Return Value
The
RasterMagnifyGlass object used to perform Magnifying Glass operations for this
RasterImageViewer.
Example
This sample lets create your own custom magnify glass.
The custom magnify glass is drawn with a red "X" for the crosshair
The border is a blue rectangle.
Visual Basic | Copy Code |
---|
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 |
C# | Copy Code |
---|
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); } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also