为了账号安全,请及时绑定邮箱和手机立即绑定

C# GDI图形问题!

C# GDI图形问题!

慕仙森 2018-11-06 06:02:02
大家好!!我是一新手!!请大家多多关照!我在窗体上画了一个多边形,想确定在鼠标点击窗体的时候,鼠标点击的那点是否在所画的多边形内,这个要怎么做啊!!请大家多多帮忙!! Graphics g = this.CreateGraphics();            Pen p = new Pen(Color.Red);            Point p1 = new Point(5,285);            Point p2 = new Point(269,183);            Point p3 = new Point(398,292);            Point p4 = new Point(815,362);            Point p5 = new Point(814,578);            Point p6 = new Point(261,578);            Point p7 = new Point(2,404);            Point[] pa ={ p1, p2, p3, p4, p5, p6, p7 };            g.DrawPolygon(p,pa);
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

你要计算出这个多边形的 占据的范围的所有点的位置集合、放在一个hs表里面、然后在鼠标点击的时候、取到鼠标的点击位置、hs表中一查。就可以得到是否在这个图形内。

但是有个问题、就是你要得到这个多边形的点的位置结合、或者说、是一个算法规则、

麻烦点、但是不难。本来你的多边形就是用几个点确定的。你可以跟据点得到、算法变现的点集合。

然后比较。ok


查看完整回答
反对 回复 2018-11-07
?
开满天机

TA贡献1786条经验 获得超13个赞

MeasureCharacterRanges 获取说有Regions 遍历Region ,判定坐标是否在Region 中即可。

查看完整回答
反对 回复 2018-11-07
  • 2 回答
  • 0 关注
  • 397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信