LEADTOOLS ナレッジベース

[RasterImageViewer] マウスでクリックした画像の座標を取得するには?

Leadtools.Drawing.TransformerクラスのPointToLogicalメソッドでマウスの座標を画像上の座標に変換することができます。

サンプルコード(VB.NET)

' マウスクリック座標
Private MousePoint As LeadPoint

Private Sub RasterImageViewer1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RasterImageViewer1.MouseDown
  Try
    Dim trans As New Transformer
    trans.Transform = RasterImageViewer1.Transform

    Dim transpt As New PointF
    transpt = trans.PointToLogical(New PointF(e.X, e.Y))

    MousePoint = New LeadPoint(transpt.X, transpt.Y)
  Catch ex As Exception
    MessageBox.Show(ex.ToString)
  End Try
End Sub

サンプルコード(C#)

// マウスクリック座標
private LeadPoint MousePoint;

private void RasterImageViewer1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
  try
  {
    Transformer trans = new Transformer();
    trans.Transform = RasterImageViewer1.Transform;

    PointF transpt = new PointF();
    transpt = trans.PointToLogical(new PointF(e.X, e.Y));

    MousePoint = new LeadPoint((int)transpt.X, (int)transpt.Y);
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.ToString());
  }
}

実際の動作は.NETコントロール チュートリアルの「MousePointToImageCoordinates」をご覧ください。

 

0 コメント

記事コメントは受け付けていません。