- 題名: マウスの座標(ミリメートル)
- 日時: 2005/08/19 8:19:11
- ID: 12260
- この記事の返信元:
- (なし)
- この記事への返信:
- [12263] Re[1]: マウスの座標(ミリメートル)2005/08/19 11:52:47
- ツリーを表示
こんにちは。
> @ピクセル単位ではなくミリメートル単位にするにはどうしたらいいでしょうか?
> (マウスの座標ではなく、四角や円等を描く場合ならできたのですが・・・)
>
> A原点を左上ではなく、pictureBox1の中央にするにはどうしたらいいでしょうか?
> (おそらく、pictureBox1の縦横それぞれを2で割るのだと思うのですが
> マウスの座標原点の動かし方がわかりません・・orz
精度はあまりよくないと思いますが、簡単にやるならば
using(Graphics g = pictureBox1.CreateGraphics())
{
double x = (e.X - pictureBox1.Width/2) / g.DpiX * 25.4;
double y = (-e.Y + pictureBox1.Height/2) / g.DpiY * 25.4;
textBox1.Text = "x=" + x.ToString() + " , " + "y=" + y.ToString();
}
こんな感じでできると思います。
分類:[.NET]
いつもお世話になっています。
またまた疑問に思うことがあり、お教え頂きたく書き込み致します。
よろしくお願いします。
下記のコードにより、ステータスバーに、pictureBox1上にあるマウスの座標を
出力しようとしているのですが、下記では当然のごとく
pictureBox1の左上を原点にして、ピクセル単位で表示されます。
private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.statusBar1.Text = e.X.ToString() +","+ e.Y.ToString();
}
@ピクセル単位ではなくミリメートル単位にするにはどうしたらいいでしょうか?
(マウスの座標ではなく、四角や円等を描く場合ならできたのですが・・・)
A原点を左上ではなく、pictureBox1の中央にするにはどうしたらいいでしょうか?
(おそらく、pictureBox1の縦横それぞれを2で割るのだと思うのですが
マウスの座標原点の動かし方がわかりません・・orz
よろしくお願いいたします。