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 |