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