LEADTOOLS Medical(Leadtools.Medical3Dアセンブリ)

フレームを表示

HandleMouseDownメソッド






実行するアクションを表すLeadtools.MedicalViewer.MedicalViewerActionType
オブジェクトが描画されるコントロール
マウスイベントの1つを通して受け取られる引数を表すSystem.Windows.Forms.MouseEventArgs。MouseDown、MouseUp、MouseMoveなどなどの、いろいろなマウスイベントから受け取られたマウスイベント引数を渡さなければなりません
このメソッドを通してマウスイベントを処理するエフェクトを受けるオブジェクトのゼロベースのインデックス。
コントロール上で発生するマウスダウンイベントを取り扱います。
構文
public void HandleMouseDown( 
   MedicalViewerActionType actionType,
   Control control,
   MouseEventArgs args,
   int objectIndex
)
'Declaration
 
Public Sub HandleMouseDown( _
   ByVal actionType As MedicalViewerActionType, _
   ByVal control As Control, _
   ByVal args As MouseEventArgs, _
   ByVal objectIndex As Integer _
) 
'Usage
 
Dim instance As Medical3DContainer
Dim actionType As MedicalViewerActionType
Dim control As Control
Dim args As MouseEventArgs
Dim objectIndex As Integer
 
instance.HandleMouseDown(actionType, control, args, objectIndex)

            

            
public:
void HandleMouseDown( 
   MedicalViewerActionType actionType,
   Control^ control,
   MouseEventArgs^ args,
   int objectIndex
) 

パラメーター

アクションタイプ
実行するアクションを表すLeadtools.MedicalViewer.MedicalViewerActionType
コントロール
オブジェクトが描画されるコントロール
変数
マウスイベントの1つを通して受け取られる引数を表すSystem.Windows.Forms.MouseEventArgs。MouseDown、MouseUp、MouseMoveなどなどの、いろいろなマウスイベントから受け取られたマウスイベント引数を渡さなければなりません
objectIndex
このメソッドを通してマウスイベントを処理するエフェクトを受けるオブジェクトのゼロベースのインデックス。
解説
このメソッドは複雑なマウスタスクを自動的に処理して、プレセットを実行します行動。
サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
Imports Leadtools.Medical3D

<TestMethod>
Public Sub Medical3DControlExample()
   Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
   Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()
   Dim form As MainForm1 = New MainForm1(output)
   form.ShowDialog()
End Sub

' MainForm1 will be the owner of the medical viewer control.
Private Class MainForm1 : Inherits Form
   Private mycontainer As Medical3DContainer

   Public Sub New(ByVal output As MedicalViewerSeriesManager)
      Dim _codecs As RasterCodecs = New RasterCodecs()
      Dim _image As RasterImage

      Dim codecsInformation As CodecsImageInfo

      AddHandler FormClosing, AddressOf MainForm1_FormClosing

      mycontainer = New Medical3DContainer()

      mycontainer.Objects.Add(New Medical3DObject())

      Dim index As Integer

      codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)

      Dim width As Integer = codecsInformation.Width
      Dim height As Integer = codecsInformation.Height
      Dim depth As Integer = 256

      mycontainer.Objects(0).MemoryEfficientInit(depth)

      index = 0
      Do While index < depth
         _image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
         mycontainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
         index += 1
      Loop

      Dim spearator As String = ("\")
      Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
      Dim orientation As Single() = New Single(5) {}
      Dim i As Integer
      For i = 0 To 5
         orientation(i) = CSng(Convert.ToDouble(test(i)))
      Next i

      mycontainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)


      AddHandler MouseDown, AddressOf _control_MouseDown
      AddHandler MouseMove, AddressOf _control_MouseMove
      AddHandler MouseUp, AddressOf _control_MouseUp

   End Sub

   Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
      mycontainer.Render(Me)
   End Sub

   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
      mycontainer.Render(Me)
   End Sub

   Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
      mycontainer.Dispose()
   End Sub

   Private Sub _control_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
      mycontainer.HandleMouseUp(Me, e, 0)
   End Sub

   Private Sub _control_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
      mycontainer.HandleMouseMove(Me, e, 0)
   End Sub

   Private Sub _control_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
      mycontainer.HandleMouseDown(MedicalViewerActionType.Rotate3DObject, Me, e, 0)
   End Sub

End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.Medical3D;

[TestMethod]
public void Medical3DControlExample()
{
    Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
    MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();
    MainForm1 form = new MainForm1(output);
    form.ShowDialog();
}

// MainForm1 will be the owner of the medical viewer control.
class MainForm1 : Form
{
    private Medical3DContainer container;

    public MainForm1(MedicalViewerSeriesManager output)
    {
        RasterCodecs _codecs = new RasterCodecs();
        RasterImage _image;

        CodecsImageInfo codecsInformation;

        this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);

        container = new Medical3DContainer();

        container.Objects.Add(new Medical3DObject());

        int index;

        codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);

        int width = codecsInformation.Width;
        int height = codecsInformation.Height;
        int depth = 256;

        container.Objects[0].MemoryEfficientInit(depth);

        for (index = 0; index < depth; index++)
        {
            _image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
            container.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
        }

        string spearator = ("\\");
        string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
        float[] orientation = new float[6];
        int i;
        for (i = 0; i < 6; i++)
        {
            orientation[i] = (float)Convert.ToDouble(test[i]);
        }

        container.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);


        this.MouseDown += new MouseEventHandler(_control_MouseDown);
        this.MouseMove += new MouseEventHandler(_control_MouseMove);
        this.MouseUp += new MouseEventHandler(_control_MouseUp);

    }

    protected override void OnSizeChanged(EventArgs e)
    {
        container.Render(this);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        container.Render(this);
    }

    void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
    {
        container.Dispose();
    }

    void _control_MouseUp(object sender, MouseEventArgs e)
    {
        container.HandleMouseUp(this, e, 0);
    }

    void _control_MouseMove(object sender, MouseEventArgs e)
    {
        container.HandleMouseMove(this, e, 0);
    }

    void _control_MouseDown(object sender, MouseEventArgs e)
    {
        container.HandleMouseDown(MedicalViewerActionType.Rotate3DObject, this, e, 0);
    }

}
必要条件

ターゲットプラットホーム

参照

参照

Medical3DContainerクラス
Medical3DContainerメンバ

   Leadtools.Medical3Dは、Medicalツールキットのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能