Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
<TestMethod()> _
Public Sub CustomRectangleExample()
Dim form As GetDispalyedClippedImageRectangleMainForm = New GetDispalyedClippedImageRectangleMainForm()
form.ShowDialog()
End Sub
' MainForm1 will be the owner of the medical viewer control.
Private Class CustomRectangleMainForm : Inherits Form
Public _medicalViewer As MedicalViewer
Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
_medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
End Sub
Public Sub New()
Dim _codecs As RasterCodecs = New RasterCodecs()
Dim _image As RasterImage
' Create the medical viewer and adjust some properties.
_medicalViewer = New MedicalViewer()
_medicalViewer.Rows = 2
_medicalViewer.Columns = 1
_medicalViewer.Location = New Point(0, 0)
_medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
' Load an image and then add it to the control.
_image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "image2.cmp"))
Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell()
_medicalViewer.Cells.Add(cell)
' add some actions that will be used to change the properties of the images inside the control.
cell.AddAction(MedicalViewerActionType.Scale)
cell.AddAction(MedicalViewerActionType.Offset)
' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)
cell.SetAction(MedicalViewerActionType.Scale, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
Controls.Add(_medicalViewer)
_medicalViewer.Dock = DockStyle.Fill
AddHandler cell.PostPaint, AddressOf Viewer_PostPaint
AddHandler cell.UIChanged, AddressOf Viewer_UIChanged
End Sub
Private _color As Color
Private Sub Viewer_UIChanged(ByVal sender As Object, ByVal e As MedicalViewerUIChangedEventArgs)
If e.ActionType = MedicalViewerActionType.Offset Then
If e.ActionState = MedicalViewerActionStatus.Progress Then
_color = Color.Blue
Else
_color = Color.Yellow
End If
End If
End Sub
Private Sub Viewer_PostPaint(ByVal sender As Object, ByVal e As MedicalViewerPaintInformationEventArgs)
e.Graphics.DrawRectangle(New Pen(_color), e.ImageRectangle)
End Sub
End Class
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
[TestMethod]
public void CustomRectangleExample()
{
GetDispalyedClippedImageRectangleMainForm form = new GetDispalyedClippedImageRectangleMainForm();
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class CustomRectangleMainForm : Form
{
public MedicalViewer _medicalViewer;
void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
{
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
public CustomRectangleMainForm()
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
// Create the medical viewer and adjust some properties.
_medicalViewer = new MedicalViewer();
_medicalViewer.Rows = 2;
_medicalViewer.Columns = 1;
_medicalViewer.Location = new Point(0, 0);
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
// Load an image and then add it to the control.
_image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "image2.cmp");
MedicalViewerMultiCell cell = new MedicalViewerMultiCell();
_medicalViewer.Cells.Add(cell);
// add some actions that will be used to change the properties of the images inside the control.
cell.AddAction(MedicalViewerActionType.Scale);
cell.AddAction(MedicalViewerActionType.Offset);
// assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.Scale, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
Controls.Add(_medicalViewer);
_medicalViewer.Dock = DockStyle.Fill;
cell.PostPaint += new EventHandler<MedicalViewerPaintInformationEventArgs>(Viewer_PostPaint);
cell.UIChanged += new EventHandler<MedicalViewerUIChangedEventArgs>(Viewer_UIChanged);
}
Color _color;
void Viewer_UIChanged(object sender, MedicalViewerUIChangedEventArgs e)
{
if (e.ActionType == MedicalViewerActionType.Offset)
{
if (e.ActionState == MedicalViewerActionStatus.Progress)
_color = Color.Blue;
else
_color = Color.Yellow;
}
}
void Viewer_PostPaint(object sender, MedicalViewerPaintInformationEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(_color), e.ImageRectangle);
}
}