永发信息网

Android Path类中有直接能判断坐标点是否在Path内的吗

答案:2  悬赏:20  手机版
解决时间 2021-01-26 00:03
Android Path类中有直接能判断坐标点是否在Path内的吗
最佳答案
private boolean pointInPath(Path path, Point point) {
    RectF bounds = new RectF();
    path.computeBounds(bounds, true);
    Region region = new Region();
    region.setPath(path, new Region((int) bounds.left, (int) bounds.top, (int) bounds.right, (int) bounds.bottom));
    return region.contains(point.x, point.y);
}将Path 转变成多个Rect,然后从Rect里面判断是否包含某个点
全部回答
下面的代码描述了一个套索类,该类可以判断一个点是否在用户手指所画的一个套索区域中:      public class lasso {   // polygon coordinates   private float[] mpolyx, mpolyy;   // number of size in polygon   private int mpolysize;      public lasso(float[] px, float[] py, int ps) {   this.mpolyx = px;   this.mpolyy = py;   this.mpolysize = ps;   }      public lasso(list<pointf> pointfs) {   this.mpolysize = pointfs.size();   this.mpolyx = new float[this.mpolysize];   this.mpolyy = new float[this.mpolysize];   for (int i = 0; i < this.mpolysize; i++) {   this.mpolyx[i] = pointfs.get(i).x;   this.mpolyy[i] = pointfs.get(i).y;   }   log.d("lasso", "lasso size:" + mpolysize);   }      public boolean contains(float x, float y) {   boolean result = false;   for (int i = 0, j = mpolysize - 1; i < mpolysize; j = i++) {   if ((mpolyy[i] < y && mpolyy[j] >= y)   || (mpolyy[j] < y && mpolyy[i] >= y)) {   if (mpolyx[i] + (y - mpolyy[i]) / (mpolyy[j] - mpolyy[i])   * (mpolyx[j] - mpolyx[i]) < x) {   result = !result;   }   }   }   return result;   }   }   当用户手指在屏幕上划动时,可以保存手指划过的点用来实例化lasso类,也可以在用户手指抬起后通过pathmeasure类来对封闭的path对象取点,然后实例化lasso类。   lasso类中的contains方法即是判断点是否在多边形内
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
新彩丽摄影名店地址在什么地方,想过去办事
下列哪一项不属于内伤发热的诊断要点A.起病缓
入了100元的意外险,人死了怎么赔偿
成语能言快说的意思是什么啊?有知道释义的请
化学实验是学习化学的基础,小明想对铁丝在氧
求重生唯舞独尊TXT全本
请问下大家,现在遇到LINGO的计算量很大,需
防晒霜怎么做实验火烧后哪种类型好
鱼水百货地址在哪,我要去那里办事
南京大学HND中心毕业后的学位能受到认可吗?
松鼠能托运吗
成语南箕北斗的意思是什么啊?有知道释义的请
【84消毒液配比】用有效氯含量为5%的84消毒液
三星S3迷你,手机左下角出现“安全模式”四个
Come Back Down 歌词
推荐资讯
302国道路况这么样
妈妈驿站(信阳平桥区)地址在什么地方,想过去
剑网三里以前巴陵的算盘背部挂件,现在怎么得
成语愀然无乐的意思是什么啊?有知道释义的请
宜美佳家私城地址好找么,我有些事要过去
我有的时候运动出汗后,被风一吹头就晕,怎么
4g手机在qq空间发说说的时候怎么去掉后面的4g
被称为“义”与“利”关系问题的人力资源开发
从秦皇岛到静海的客车都有几点的
靖江公交卡如何办理
公务员工资组成是什么?分别是多少?计算公式
不进行车主认证,可进行顺风载客吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?