作者Litfal (Litfal)
看板C_Sharp
标题Re: [问题] 判断座标是否落於范围内
时间Tue Nov 7 20:51:42 2017
※ 引述《AutoTea (自动茶)》之铭言:
: 想请教各位前辈,小弟目前有一个问题:
: (x1,y1)┌────────────┐(x2,y2)
: │ │
: │ .←(x,y) │
: │ │
: (x3,y3)└────────────┘(x4,y4)
: 目前判断(x,y)是否於上面四方型的方法是采用:GraphicsPath.IsVisible
: x1 <-> x2 = width y1 <-> y2 =height
: width, heihgt 的范围太大了(20000以上),往往判断一符图下来要10分钟以上
: (跑width, heihgt loop),不知各位前辈有没有什麽好方法,可以让速度再快一点?
: 感谢
从你的程式码看来,你是要对矩形"范围外"做处理
那你只要跑四个回圈就行了,不需要跑整张图范围,再去检查是否在矩形中
(x1,y1)┌────────────┐
(x2,y2)
│ │
│ │
│ │
(x3,y3)└────────────┘
(x4,y4)
四个颜色各跑一次回圈,回圈内不用判断是否再矩形内。
边界控制请自己依需求处理。
顺便一提,矩形内外判断请用Rectangle.Contains,这个是很简单的四个短路逻辑。
GraphicsPath.IsVisible则复杂得多。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.23.32
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1510059104.A.5CA.html