使用region测量一个点坐标是否在path范围内

95 篇文章 0 订阅

在项目中我们可以需要判断点击某个点 判断这个点是否那对应方范围;可以使用region类

----------------------------------------------------使用步骤-------------------------------------------------------------------

1》创建 region范围对象

Region    region=new   Region();

2》把path设置到region里面

//创建个rectF类保存path边界信息

RectF rectF=new RectF();

//调用path方法 把path边界信息保存到rectF里面

//参数 (保存信息的矩形,是否不再使用--》使用一次就可以了)

path.computeBounds(rectF,true);

//把path设置到region里面

region.setPath(path, new Region((int)rectF.left, (int)rectF.top,(int)rectF.right, (int)rectF.bottom));

3》调用包含方法 判断坐标点是否在path方法

//参数(点击坐标X ,Y) 返回true包含  ;返回false不包含

region.contaions((int)x,(int)y);

 

//注意   x = event.getX();   y = event.getY();

-------------------------------------------------封装工具类------------------------------------------------------------

/**
 * 判断path 是否包含点
 */
public class PathUtils {

    /**
     * @param x    需要判断的点  的x坐标
     * @param y    需要判断的点  的y坐标
     * @param path path对象
     * @return
     * 注意 x=event.getX();   y=event.getY();  
     */
    public static boolean isContaionsPoint(int x, int y, Path path) {
        if (path == null) {
            new Exception("path is null");
            return false;
        }
        RectF rectF = new RectF();
        path.computeBounds(rectF, true);

        Region region = new Region();
        region.setPath(path, new Region((int) rectF.left, (int) rectF.top, (int) rectF.right, (int) rectF.bottom));
        return region.contains(x, y);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值