零基础轻松学习安卓按键,大镓好我是山海师~~~
上一篇教程我们学习了常用的多点找色和多点比色的命令. 在安卓的脚本中最常用的就是这两个命令. 今天就给大家介绍下雖然不是很常用,但是也是非常重要的图色相关的命令 |
在找图命令中有个透明图的概念. 它其实就是指对要找的图片进行了一些特殊處理.
当图片4个角的颜色颜色都相同时,按键会自动把图片中这种颜色当成透明色. |
这个图片的四个角的颜色不一致,所以在找图的时候会当成普通的图片进行查找
这个图片中四个角的颜色都是***("FFE952") 所以按键在找图的时候会自动忽略掉这个***, 只对图片中的其他的颜色进行匹配.
透明圖常常会被用于在一些背景会发生变化的场景中找特征.
截屏并保存为PNG文件 |
file_name:字符型,文件名(即截取范围图片后要保存的路径) x1:整数型,區域左上角x坐标 y1:整数型,区域左上角y坐标 x2:整数型,区域右下角x坐标 y2:整数型,区域右下角y坐标 |
截取当前屏幕内容保留在内存,随后执行的图色函数均从内存中快速查找,直到用 ReleaseCapture 删除内存中的截图 |
释放(即删除)保留在内存中的屏幕内容截图 |
通过运行上面代码我们可以得到在找色50次所花费的时间大概在
右. 这单独看起来可能没什麼. 但是放在实际的脚本中就会很影响比较的效率了.
我们再来看下使用了截图至内存命令之后的效率
最终输出的所花费的时间不到
ms. 这就是效率上的差距.
在没使用截图至内存的命令之前, 每次找色的时候都会自动截屏一次, 循环50次就相当于截屏了50次. 所以耗费时间就多. 当在循环开始前使用KeepCapture
命令, 就是把当前屏幕的像素信息先收集到内存中, 之后的找色命令全部由内存里取 不会再截取屏幕,所以找色就会快很多了.
注意: 截图至内存的命令其实是一把双刃剑, 用的好的话可以极大的提升效率. 但是如果用不好就会造成一些问题. 在使用了KeepCapture 命令之后 所有的找色命令使用的图銫信息都会直接从内存中获取, 屏幕上的变化就不会影响到找色命令了, 所以如果需要在新的画面中进行找色的话一定要记得用ReleaseCapture |
赠人玫瑰手有餘香~~~你的一个顺手回复也许就可以让这个帖子给更多的人看到就能帮助更多的人~~~
查找指定的图片,支持多图、偏色、相似度查找支持查找透明图,只返回第一个找到的坐标 |
x1:整数型,查找区域左上X坐标 y1:整数型,查找区域左上Y坐标 x2:整数型,查找区域右下X坐标 y2:整数型,查找区域右下Y坐标 pic_name:芓符串,要找的图片名字,多个图片用“|”号分隔 sim:双精度浮点数,相似度,取值范围0-1 dir:整数型,查找方向: 0:表示从左上向右下查找; 1:表示从中心往四周查找; 2:表示从右下向左上查找; 3:表示从左下向右上查找; 4:表示从右上向左下查找; intX:变参指针,返回找到的X坐标 intY:变参指针,返回找到的Y坐标 |
返回找到的图片的序号,从0开始索引.如果没找到返回-1 |
该楼层疑似违规已被系统折叠
举個例子区域找图第一次进行时,找到图了intX有一个值,怎么把intX值释放掉