Region と IsVisible を使って、特定の Point が、Region 内に含まれるかと言うプログラムを 作成していますが、「際」の判定が少々怪しいので、上手く回避する方法が無いか相談したく 投稿させて頂きました。(OS:Windows 7/8.1 環境:Visual Studio 2013 Express 言語:VB.NET)
●プログラム Dim lstPoint As New List(Of Point) Dim lstPType As New List(Of Byte)
' GraphicPath の作成 Dim gptGPath As New GraphicsPath(lstPoint.ToArray, lstPType.ToArray, FillMode.Alternate) Dim myRegion As New Region(gptGPath)
' ◆怪しいのは、ココから◆ If (myRegion.IsVisible(New Point(100, 100)) Then MsgBox("座標 100, 100 は Region に含まれ【る】") Else MsgBox("座標 100, 100 は Region に含まれ【ない】") End If
If (myRegion.IsVisible(New Point(199, 199)) Then MsgBox("座標 199, 199 は Region に含まれ【る】") Else MsgBox("座標 199, 199 は Region に含まれ【ない】") End If
If (myRegion.IsVisible(New Point(200, 200)) Then MsgBox("座標 200, 200 は Region に含まれ【る】") Else MsgBox("座標 200, 200 は Region に含まれ【ない】") End If