栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何判断封闭路径是否包含给定点?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何判断封闭路径是否包含给定点?

本android.graphics.Path类没有这样的方法。Canvas类确实具有可以设置为路径的剪切区域,无法针对某个点对其进行测试。您可以尝试Canvas.quickReject,针对单点矩形(或1x1Rect)进行测试。我不知道这是否真的会检查路径还是仅检查封闭的矩形。

Region类显然只跟踪包含的矩形。

您可以考虑将每个区域绘制到一个8位的alpha层位图中,并在每个区域中Path填入自己的“颜色”值(确保在中关闭了抗锯齿功能Paint)。这为每个填充有填充路径的索引的路径创建了一种掩码。然后,您可以仅使用像素值作为路径列表的索引。

Bitmap lookup = Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);//do this so that regions outside any path have a default//path index of 255lookup.eraseColor(0xFF000000);Canvas canvas = new Canvas(lookup);Paint paint = new Paint();//these are defaults, you only need them if reusing a Paintpaint.setAntiAlias(false);paint.setStyle(Paint.Style.FILL);for(int i=0;i<paths.size();i++)    {    paint.setColor(i<<24); // use only alpha value for color 0xXX000000    canvas.drawPath(paths.get(i), paint);     }

然后查点

int pathIndex = lookup.getPixel(x, y);pathIndex >>>= 24;

如果有未填充的点,请确保检查255(无路径)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号