首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android如何判断当前点击位置是否圆的内部

我们都知道,一个圆形的ImageView控件(本项目中使用的圆形控件是github的),其实所占的区域还是正方形区域,只是显示内容为圆形,当我们给ImageView设置触摸事件时,没有显示区域也会相应点击事件...,而我们可以通过计算当前点击的位置来判断ImageView是否相应触摸事件。...要实现这个效果并不难,首先,先计算出圆的中心点坐标(x1,y1),注意,x1,y1是相对于屏幕的坐标,不是相对于布局的坐标; 然后获取当前按下的坐标(x2,y2),只需要计算出当前按下的点的坐标(x2...MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); //获取控件屏幕的位置...Math.pow(distanceY,2)); //如果点击位置与圆心的距离大于圆的半径,证明点击位置没有圆内 if(distanceZ r){ return false;

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

手把手搭建游戏AI—如何使用深度学习搞定《流放之路》

图6:相机平移运动 有了上述代码,屏幕的距离就可以更精确了。为了简单起见,我们假设玩家总是XY平面上移动。然而,某些高度上,这并不是一个可靠的假设。...每行中,filename是上述图像文件的路径,Y表示图像显示正在执行传送,N表示相反,表示没有传送。...(点击查看大图) 因此,触发适当的键之后,AI会(重复地)调用 DetectLW 函数来检查移动是否成功。成功后,角色地图上的位置就会更新。...因此,我们需要的是能够识别屏幕的给定像素到底是障碍物的一部分、敌人还是物品等的方法。这个任务本质是目标检测实时目标检测其实是一个困难且计算复杂度很高的问题。...这个CNN然后预测这些单元格是否包含物品或敌人。通过连续画面截图中切换物品的突出显示来检测物品标签的移动。

2.8K70

DOM事件基本概念大总结(前端必备)

例如常见的点击事件,鼠标移动事件。这些事件发生之时,往往不只是点击或者移动到某一特定元素。 比如点击某一个按钮,它是由一层的父标签,或许在上一层还有父标签甚至是整个页面。...然而实际,几乎所有主流浏览器都支持事件捕获阶段触发事件,它们并没有遵守规定 事件处理程序 主要是指 DOM 如何处理各种 HTML 的程序。...,会冒泡 focusin 获取焦点元素触发,会冒泡 blur 失去元素触发,不会冒泡 DOMFocusOut 失去焦点元素触发,会冒泡; Opera 专有 focus 获取焦点元素触发,...不会冒泡 DOMFocusIn 获取焦点元素触发,会冒泡; Opera 专有 鼠标与滚轮事件 鼠标点击与移动 主要是点击、双击、光标移入、移出、暗下、放开的操作; mouseenter 首次移入元素内部触发...可以检测页面滚动是否来自鼠标。该事件冒泡。

1.8K20

OpenCV图像识别在自动化测试中实践

自动化测试使用过程中,发现很多App无法获取到控件、资源ID等内部资源,目前主要的移动端自动化测试工具基本都是基于获取内部控件元素来进行操作。...这种情况下,只能通过点击坐标代替控件操作,如何自动获取控件坐标就成了能否实现自动化的关键。...构建尺度空间时,使用box filter与源图像卷积,不是使用DoG算子。 SURF使用一阶Haar小波x、y两个方向的响应作为构建特征向量的分布信息。...以某个点为中心作一个圆, 根据圆的像素值判断该点是否为关键点。...与此相反的是位于均匀区域或物体轮廓的点以及同一物体的不同图像很难重复精确定位的点。 Harris特征检测检测角点的经典方法。

3.2K31

Game AI SDK开源版本发布:基于图像的游戏场景自动化框架

各模块的核心功能如下: ● IO Service 负责AI SDK的输入输出控制,输入为游戏图像,输出为点击、滑动等游戏动操作;同时还负责AI SDK内部服务状态的上报。...游戏场景识别   游戏场景识别模块中提供了模板匹配、梯度模板匹配、特征点匹配、目标检测、深度神经网络等多种算法,识别游戏场景中的游戏元素,并对外输出图像识别结果。...AI SDK的场景识别中,主要将游戏中需要识别的元素分为以下几类: ● 固定物体目标 主要采用各种模板匹配算法检测游戏场景中的固定目标物,如游戏中的按钮、图标、技能状态等。...且游戏场景自动化插件完成后,随着游戏版本的迭代更新,只要游戏的玩法不改变,已经实现的自动化过程一般不需要做修改,自动化过程维护的成本比较低,不需要随着游戏内部实现的改变修改。   ...目前腾讯Turing Lab编著的关于AI SDK及其应用的书籍《AI自动化测试:技术原理、平台构建与工程实践》已架可于京东进行购买(链接请点击上期推送的原文进行跳转)。

50320

Game AI SDK开源版本发布:基于图像的游戏场景自动化框架

各模块的核心功能如下: l IO Service 负责AI SDK的输入输出控制,输入为游戏图像,输出为点击、滑动等游戏动操作;同时还负责AI SDK内部服务状态的上报。...l AI自动化 根据场景识别后得到的特征数据,进行AI决策,输出游戏操作,游戏操作通常为点击某个像素、某像素区间滑动。...1、 游戏场景识别 游戏场景识别模块中提供了模板匹配、梯度模板匹配、特征点匹配、目标检测、深度神经网络等多种算法,识别游戏场景中的游戏元素,并对外输出图像识别结果。...AI SDK的场景识别中,主要将游戏中需要识别的元素分为以下几类: l 固定物体目标 主要采用各种模板匹配算法检测游戏场景中的固定目标物,如游戏中的按钮、图标、技能状态等。...且游戏场景自动化插件完成后,随着游戏版本的迭代更新,只要游戏的玩法不改变,已经实现的自动化过程一般不需要做修改,自动化过程维护的成本比较低,不需要随着游戏内部实现的改变修改。

68710

前端canvas基础复习,canvas学习笔记,持续记录

Canvas基础 1.介绍 Canvas API(画布)是HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本它是一个可以用JavaScript操作的位图(bitmap)。...如果绘制出来的图像是扭曲的,尝试用 width 和 height 属性为明确规定宽高,不是使用 CSS。 canvas 起初是空白的。...3.不要在用drawImage时缩放图像 离屏 canvas 中缓存图片的不同尺寸,不要用drawImage()去缩放它们。...最好的情况是不直接缩放画布,或者具有较小的画布并按比例放大,不是较大的画布并按比例缩小。...1.1矩形的捕获 如果鼠标点击坐标落在矩形,则说明捕获了这个矩形;如果鼠标点击坐标没有落在矩形,则说明没有捕获到这个矩形。

2.4K40

业界 | 谷歌推出神经网络可视化库Lucid,推进模型的可解释性工作(附GitHub)

去年,谷歌在线上期刊 Distill 介绍了这些技术如何展示神经网络中单个神经元的行为,不是 DeepDream 中给神经网络带来有趣的部分。...这种结合允许我们稍微「站在神经网络内部」,看到神经网络某一具体时刻如何决策,及其如何影响最终输出。...谷歌的技术通过可视化每个神经元,使事情变得更加有意义,能够看到「耷拉的耳朵检测器被激活」。这可以说是神经网络的 MRI 了。 ? 谷歌同样可以缩小图像,展示如何按照不同层对图像进行「观察」。...我们不仅看到网络检测出耷拉的耳朵,还看到这一检测如何提高图像被标注为拉布拉多犬的概率。 ? 除了论文之外,谷歌还发布了 Lucid,一个建立 DeepDream 的神经网络可视化库。...只要打开 notebook,点击按钮运行代码即可,无需安装。 ? colab notebooks 中,你可以点击按钮运行代码,并查看下方结果。

79160

3D场景中物体模型选中和碰撞检测的实现

3D场景中常用的一个需求就是鼠标屏幕上点击特定位置,选中一个物体模型,进行下一步的操作。比如说移动、旋转变形或者改变物体模型渲染外观等等。具体怎么实现呢?...光线投射主要用于物体选择、碰撞检测以及图像成像等方面。 光线投射方法是基于图像序列的直接体绘制(Volume Rendering)算法。...我们使用上次场景里(如何实现一个3d场景中的阴影效果(threejs)?)的示例,增加鼠标点击选中物体模型,改变模型渲染颜色,及让模型向上移动一部分位置的功能。 ?...false ); 注意这句话: var intersects = raycaster.intersectObjects( scene.children ); THREE.Raycaster对象从屏幕点击位置向场景中发射一束光线...用Raycaster来检测碰撞的原理很简单,我们需要以物体的中心为起点,向各个顶点(vertices)发出射线,然后检查射线是否与其它的物体相交。

2.2K20

前端自动化测试探索

响应式页面测试 国外有人将像素对比应用到了响应式页面上,如果您针对PC和移动设备使用同一个网页,响应式测试可以很快的回归你的页面不同尺寸的页面是否正常。...针对重复使用的组件和样式、容易出问题的区域测试更加有效 推荐测试区域不是整个页面 整个页面的测试导致任何一点文字、图像等动态的改变都可能导致不通过,而且真正的错误可能由于图像太大被阈值忽略。...项目功能基本稳定期,维护case会简单的多,而且同样建议针对网站核心功能不是所有功能来添加case。...页面特征检测与实践 前面讲到性能测试中测试资源大小其实就属于一种资源特征,诸如此类我们还可以开发一些通用的测试规则,以测试页面是否正常。这种测试主要适用于界面和操作无法直接进行判断的元素。...与自动化测试的结合 回到刚才的需求,如何通过casperjs实现这些检测需求呢。

1.4K100

可视化图表实现揭秘

可视化是利用计算机图形学和图像处理技术,将数据转换成图形或者图像在屏幕显示出来,再进行交互处理的理论、方法和技术。 数据可视化并不是简单的将数据变成图表,而是以数据为视角,看待世界。...基于上述方法,我们只需要遍历一条线中所有段,依次连接就可以了,为了处理空段,我们需要设置一个 start 的标记变量,如果处于 start 状态,会先 moveTo 到新的点,不是 lineTo,大概代码如下...使用内置 API Canvas 标签提供了一个接口 isPointInPath() 来获取对应的点是否绘制的图形内部,操作步骤如下: 绘制所有图形 进行拾取时,调用 isPointInPath() ...Canvas 绘制的图形都是标准的几何图形,点、线、面的检测几何算法中比较成熟,每个图形绘制时都会给其生成一个包围盒并保存,当拾取图形时可以直接使用数据运算检测。...检测过程如下: 反序检测所有的图形 判断点是否图形的包围盒内,如果不在,则返回 false 如果图形绘制线,则判断是否在线上 如果图形被填充,则判断是否被包围 优缺点 优点 图形检测算法比较成熟 思路比较清晰

1.1K10

RPA界面元素定位与操控技术详解-达观数据

目前,主要有 CV 和 NLP 两个领域的 AI 技术 RPA 中应用比较广泛。1. 计算机视觉CV (Computer Vision) 计算机视觉是一个专门研究如何从数字图像中提取有用信息的领域。...比如验证码识别、提取发票的信息等。OD (Object Detection) 目标检测:通过给计算机输入一张图像,让计算机分析出其中的物体。...监控屏幕特定坐标点的颜色变化,当血槽颜色变为灰色时,就喝一瓶金疮药(按下使用金疮药道具的按键)图像识别示意图1图像识别:大图中找小图。...循环监控屏幕是否出现了“地鼠”,出现了以后,则操作鼠标点击目标位置。...“异常场景恢复模式”下,GUI 自动化框架依次检测各种可能出现的对话框,一旦确认了对话框的类型,立即执行预定义的操作(比如:点击“确定”按钮),接着重试刚失败的步骤。

47920

关于事件的前端面试题总结

如何屏蔽掉这个不同? Event对象中,target和currentTarget的区别? 说一说什么是事件冒泡,如何阻止事件冒泡?如何阻止默认事件? 是否了解移动端的点击穿透,原理及解决方法?...如何屏蔽掉这个不同? 移动端的click事件会延迟300ms触发事件回调(只部分手机浏览器出现)。 为什么会这样? 因为手机浏览器中需要处理如翻页这样复杂的手势。...它的原理是 FastClick 检测到touchend事件的时候,会通过 DOM 自定义事件立即触发一个模拟click事件,并把浏览器 300 毫秒之后真正触发的click事件阻止掉。...它总是引用事件处理程序附加到的元素不是event.target,event.target标识事件发生的元素。...有个简单的验证方法,你会在下面的例子中看到e.currentTarget一直返回的是body元素e.target则随着你点击位置的不同变化 4.说一说什么是事件冒泡,如何阻止事件冒泡?

1.6K50

7个实用的CSS技巧

图像文本环绕 CSS 中的 shape-outside 属性是一个非常有用且强大的工具,它允许设计师和开发者控制内容如何围绕一个浮动元素(通常是图像或图形)进行排列。...} 这段代码看起来并不是很易读, :where() 伪类就派上了用场。...透明图像的阴影 你是否曾尝试透明图像添加 box-shadow ,结果却看起来像是你添加了边框?我想我们都有过这样的经历。为透明图像添加阴影效果的解决方案是使用 drop-shadow 。...它的工作方式是, drop-shadow 属性遵循给定图像的alpha通道。因此,阴影是基于图像内部的形状,不是显示在其外部。...一些使用场景包括能够比较两张不同的照片,而无需视口中渲染这些照片。例如,可以使用光标属性来节省设计中的空间。由于你可以将自定义光标锁定到特定的 div元素,所以它不会干扰到元素之外的其他元素

16330

懒人福利:不写代码调优深度模型,谷歌开源的「What-If」了解一下

或者,你也可以手动编辑一个数据点,并探究模型预测如何变化。在下方的截图中,该工具被应用在一个二分类模型,其基于 UCI 人口普查数据集的公开人口普查数据预测一个人的收入是否超过 5 万美元。...下图展示了微笑检测模型的结果,该模型开源 CelebA 数据集训练得到,该数据集包含名人的标注人脸图像。...在下图中,按照是否有褐色头发将数据集中的人脸图像分为两组,并且绘制每组图像的预测 ROC 曲线和混淆矩阵,以及确定一张脸是否微笑之前,设置模型置信度的滑块。...比较两组数据微笑检测模型的性能,将它们的分类阈值设置为满足「均等机会」约束。...评估二分类模型的公平性:上面提到的用于微笑检测图像分类模型。该工具有助于评估不同子组之间的算法公平性。该模型的训练过程中,特意不提供来自特定人群的任何例子,以展示该工具如何揭示模型中的此类偏见。

55930

说说懒加载怎样实现

懒加载可以多种场景中实现,包括网页内容、图像、数据等。以下是一些常见的懒加载实现方法: 对于网页内容: 动态插入: 通过JavaScript动态插入内容,不是HTML文档加载时静态渲染。...对于图像: Intersection Observer API: 使用这个API可以检测元素是否进入了视口。只有当图像与视口至少有部分重叠时,才会加载它。...对于数据: 分页: 只加载当前页面需要的数据,不是一次性加载所有数据。 虚拟滚动: 只渲染用户能够屏幕看到的项,对于滚动超出视窗的项不进行渲染。...}); 在这个示例中,我们使用了Intersection Observer API来检测图像是否进入了视口。...缓存利用: 考虑如何利用浏览器缓存,避免重复加载相同的数据。 懒加载是一种强大的技术,但需要根据具体场景和需求来合理使用。

17210

智能化与低码化兴盛优选的应用与实践

draggable-lib:拖拽库,拖拽库中包含了拖拽容器及拖拽元素的组件级封装,并提供自由拖拽模式,排序拖拽模式供不同交互形态使用,还包含元素距离检测,覆盖检测,边界检测,合并成组等常见功能。...而对于我们团队内部而言 D2C 并不是我们第一层级所需要的能力,如何找到一个恰到合适的落地点,如何用智能化方案赋能前端领域,增强前端建设的多样性,也成了我们探究很久的话题。...目标检测也分为 One Stage 检测算法和 Two stage 检测算法。MD 采取的是图像分类算法,我们不需要在一张图中检测出该图有哪一些命中目标,只需要一对一的图像识别即可。...那么如果你是直接进行设计稿图像的识别那么就需要使用目标检测的方式来进行组件识别,这样可以设计稿图像中识别出多个命中目标。...那么具体实现原理如下图所示,整个自动走查的原理是基于图像对比进行元素匹配,基于真实 dom 元素样式表和与之匹配的设计稿元素标注样式表进行数据层面上的对比最终形成一份差异映射表。

42610

从underscore源码看如何实现map函数

试想如果场景中只是需要 .map 函数的 iteratee 参数是函数的话,就用该函数处理数组元素,如果不是函数,就直接返回当前元素不是将 iteratee 进行针对性处理。..._.matcher 源码如下: /** * 传入一个属性对象,返回一个属性检测函数,检测对象是否具有指定属性 * var matcher = _.matcher({name: '白展堂'...return function(obj) { // 检测 obj 对象是否具有指定属性 attrs return _.isMatch(obj, attrs);...}; }; _.matcher 的主要作用就是检测 obj 对象是否具有指定属性 attrs,例如: var matcher = _.matcher({name: '白展堂'}); var obj...遗留问题 到这里就梳理清楚了 underscore 中是如何实现 map 函数的,以及优化性能方案。可以说 underscore 中每行代码都很精炼,值得反复揣摩。

84440

我常用的几个 VueUse 最佳组合,推荐给你们!

,它们如下: onClickOutside useFocusTrap useHead useStorage useVModel useImage useDark 1. onClickOutside 检测点击非常简单...但是,当点击发生在一个元素之外时,如何检测?那就有点棘手了。但使用VueUse中的 onClickOutside 组件就很容易能做到这点。...将键盘焦点锁定在一个特定的DOM元素不是整个页面中循环,而是浏览器本身中循环,键盘焦点只该DOM元素中循环。...否则我们可以渲染图像。 UseImage 还有其他一些很棒的特性!如果想让它成为响应式图像,那么它支持srcset和sizes属性,这些属性幕后传递给img元素。...--> 然而,黑暗模式和光明模式之间切换时,有几件事需要考虑。首先,我们要考虑到用户的系统设置。第二,我们要记住他们是否已经推翻了这个选择。

2.2K10
领券