- 題名: マウスの座標(ミリメートル)
- 日時: 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
よろしくお願いいたします。