Private Class MedicalViewerForm16 : Inherits Form
Private _medicalViewer As MedicalViewer
Private LoadAnnotation As Button
Private SaveAnnotation As Button
Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
_medicalViewer.Bounds = New Rectangle(0, 100, Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)
End Sub
Public Sub New()
RasterCodecs.Startup()
Dim _codecs As RasterCodecs = New RasterCodecs()
Dim _image As RasterImage
AddHandler SizeChanged, AddressOf MedicalViewerForm_SizeChanged
_medicalViewer = New MedicalViewer(1, 2)
_medicalViewer.Location = New Point(0, 100)
_medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)
_medicalViewer.AddAction(MedicalViewerActionType.AnnotationRectangle)
_medicalViewer.AddAction(MedicalViewerActionType.AnnotationEllipse)
_medicalViewer.AddAction(MedicalViewerActionType.AnnotationHilite)
_medicalViewer.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
_medicalViewer.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
_medicalViewer.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
_image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path & "xa.dcm")
_medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 1, 1))
_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)
_image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path & "mr.dcm")
_medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 2, 2))
_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)
RasterCodecs.Shutdown()
Controls.Add(_medicalViewer)
Controls.Add(_medicalViewer)
LoadAnnotation = New Button()
LoadAnnotation.Bounds = New Rectangle(10, 10, 100, 30)
LoadAnnotation.Text = "Load Annotation"
AddHandler LoadAnnotation.Click, AddressOf LoadAnnotation_Click
SaveAnnotation = New Button()
SaveAnnotation.Bounds = New Rectangle(110, 10, 100, 30)
SaveAnnotation.Text = "Save Annotation"
AddHandler SaveAnnotation.Click, AddressOf SaveAnnotation_Click
Controls.AddRange(New Control() {_medicalViewer, LoadAnnotation, SaveAnnotation})
End Sub
Public ReadOnly Property Viewer() As MedicalViewer
Get
Return _medicalViewer
End Get
End Property
Private Function GetFileStream() As FileStream
Dim fs As FileStream
If File.Exists(LeadtoolsExamples.Common.ImagesPath.Path & "SavedAnnotation.ann") Then
fs = New FileStream(LeadtoolsExamples.Common.ImagesPath.Path & "SavedAnnotation.ann", FileMode.Open)
Else
fs = File.Create(LeadtoolsExamples.Common.ImagesPath.Path & "SavedAnnotation.ann")
End If
Return fs
End Function
Private Sub SaveAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim fs As FileStream = GetFileStream()
_medicalViewer.Cells(0).SaveAnnotations(fs, 0)
fs.Close()
End Sub
Private Sub LoadAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim fs As FileStream = GetFileStream()
_medicalViewer.Cells(0).LoadAnnotations(fs, 0)
fs.Close()
End Sub
End Class
Private Function GetMedicalControl16() As MedicalViewerForm16
Return New MedicalViewerForm16()
End Function
Public Sub MedicalViewerSaveAnnotationStreamExample()
Dim myForm As MedicalViewerForm16 = GetMedicalControl16()
Dim medicalViewer As MedicalViewer = myForm.Viewer
myForm.ShowDialog()
End Sub |