DOBON.NET DOBON.NETプログラミング掲示板過去ログ

マウスドラックでPictureBox1に線を描きその線の角度を求めたい

環境/言語:[XP/VB.NET]
分類:[.NET]

タイトルの通りなのですがVBで、PictureBox1でマウスドラックしたときに線を描きその線の角度を知りたいです。
調べてクリックで線を描くことまでは出来たのですがマウスドラックで線を描く方法と描いた線の角度を調べる方法がわかりません
こんな初心者なのですがよろしくお願い致します。


Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
PictureBox1.Image = Nothing

Dim X2 As Integer
Dim Y2 As Integer
Dim Pos As Point = PictureBox1.PointToClient(Windows.Forms.Cursor.Position)

X2 = Pos.X
Y2 = Pos.Y

Dim g As Graphics = AutoGraphics(PictureBox1)

g.DrawLine(Pens.Red, 0, 0, X2, Y2)
End Sub

Public Function AutoGraphics(ByVal picSource As PictureBox) As Graphics

If picSource.Image Is Nothing Then
picSource.Image = New Bitmap(picSource.ClientRectangle.Width, picSource.ClientRectangle.Height)
End If

Return Graphics.FromImage(picSource.Image)

End Function
■No23482に返信(七葉さんの記事)
> マウスドラックしたときに線を描きその線の角度を知りたいです。

VB.NETだと逆正接 アークタンジェントを使う
Dim y As Double
Dim x As Double
Dim returnValue As Double
returnValue = Math.Atan2(y, x)

※下記サイトは言語が違うので注意だけど、応用は可能かと…

マウスポインタを向く矢印
http://hakuhin.hp.infoseek.co.jp/main/as/math.html#MATH_01

標的の方向へ徐々に角度を変える
http://very.skr.jp/page_tips/game04_r04.html

DOBON.NET | プログラミング道 | プログラミング掲示板