The PointToImage(Int32,Point) Method is available as an add-on to the LEADTOOLS Medical Imaging toolkits.
- subCellIndex
- The zero-based index of the sub-cell that contains the image which is having its coordinates retrieved.
- point
- The System.Drawing.Point object that represents the mouse coordinates.
Visual Basic (Declaration) | |
---|---|
Overloads Public Function PointToImage( _ ByVal subCellIndex As Integer, _ ByVal point As Point _ ) As Point |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As MedicalViewerMultiCell Dim subCellIndex As Integer Dim point As Point Dim value As Point value = instance.PointToImage(subCellIndex, point) |
C# | |
---|---|
public Point PointToImage( int subCellIndex, Point point ) |
C++/CLI | |
---|---|
public: Point PointToImage( int subCellIndex, Point point ) |
Parameters
- subCellIndex
- The zero-based index of the sub-cell that contains the image which is having its coordinates retrieved.
- point
- The System.Drawing.Point object that represents the mouse coordinates.
Return Value
A System.Drawing.Point object that contains the image coordinates.Visual Basic | Copy Code |
---|---|
Private Class MedicalViewerForm6 : Inherits Form Private _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 AddHandler SizeChanged, AddressOf MedicalViewerForm_SizeChanged ' Create the medical viewer and adjust the size and the location. _medicalViewer = New MedicalViewer(1, 2) _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, "xa.dcm")) Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1) _medicalViewer.Cells.Add(cell) ' adjust some properties to the cell and add some tags. _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448") _medicalViewer.Cells(0).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame) _medicalViewer.Cells(0).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale) _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData) _medicalViewer.Cells(0).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView) ' Load another image and then add it to the control. _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm")) _medicalViewer.Cells.Add(New MedicalViewerMultiCell(_image, True, 2, 2)) ' adjust some properties to the cell and add some tags. _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448") _medicalViewer.Cells(1).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame) _medicalViewer.Cells(1).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale) _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData) _medicalViewer.Cells(1).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView) Controls.Add(_medicalViewer) _medicalViewer.Dock = DockStyle.Fill End Sub Public ReadOnly Property Viewer() As MedicalViewer Get Return _medicalViewer End Get End Property End Class Private Function GetMedicalControl6() As MedicalViewerForm6 Return New MedicalViewerForm6() End Function ' this example draw dots on the image when clicking on it using the left mouse button. <Test> _ Public Sub MedicalViewerPointToImageExample() Dim myForm As MedicalViewerForm6 = GetMedicalControl6() Dim medicalViewer As MedicalViewer = myForm.Viewer Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell) AddHandler cell.CellMouseDown, AddressOf medicalViewer_CellMouseDown myForm.ShowDialog() End Sub Private Sub medicalViewer_CellMouseDown(ByVal sender As Object, ByVal e As MedicalViewerCellMouseEventArgs) Dim viewer As MedicalViewer = CType(sender, MedicalViewer) Dim point As Point Dim cell As MedicalViewerMultiCell = CType(viewer.Cells(0), MedicalViewerMultiCell) cell.Image.Page = e.SubCellIndex + 1 point = cell.PointToImage(New Point(e.X, e.Y)) cell.Image.SetPixelColor(point.Y, point.X, New RasterColor(255, 255, 255)) cell.Invalidate() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
class MedicalViewerForm6 : Form { private MedicalViewer _medicalViewer; void MedicalViewerForm_SizeChanged(object sender, EventArgs e) { _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); } public MedicalViewerForm6() { RasterCodecs _codecs = new RasterCodecs(); RasterImage _image; this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged); // Create the medical viewer and adjust the size and the location. _medicalViewer = new MedicalViewer(1, 2); _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(Path.Combine(LEAD_VARS.ImagesDir,"xa.dcm")); MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1); _medicalViewer.Cells.Add(cell); // adjust some properties to the cell and add some tags. _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); // Load another image and then add it to the control. _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"mr.dcm")); _medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2)); // adjust some properties to the cell and add some tags. _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); Controls.Add(_medicalViewer); _medicalViewer.Dock = DockStyle.Fill; } public MedicalViewer Viewer { get { return _medicalViewer; } } } MedicalViewerForm6 GetMedicalControl6() { return new MedicalViewerForm6(); } // this example draw dots on the image when clicking on it using the left mouse button. public void MedicalViewerPointToImageExample() { MedicalViewerForm6 myForm = GetMedicalControl6(); MedicalViewer medicalViewer = myForm.Viewer; MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]); cell.CellMouseDown += new EventHandler<MedicalViewerCellMouseEventArgs>(medicalViewer_CellMouseDown); myForm.ShowDialog(); } void medicalViewer_CellMouseDown(object sender, MedicalViewerCellMouseEventArgs e) { MedicalViewer viewer = (MedicalViewer)sender; Point point; MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(viewer.Cells[0]); cell.Image.Page = e.SubCellIndex + 1; point = cell.PointToImage(new Point(e.X, e.Y)); cell.Image.SetPixelColor(point.Y, point.X, new RasterColor(255, 255, 255)); cell.Invalidate(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7