/*
软件作者:https://xuhss.com/oxox/pro
*/
/**
*作者QQ: 1811588980
*完成时间: 2019年4月18日 下午9:42:35
*备注: 使用方法
**本脚本使用方式。
* 使用悬浮窗展示的方式对图像选中区域进行找图代码生成。
*截图 重新截图
*选图 从文件夹中选择图片
*区域 将绿色框以选中的区域作为此时找图区域
*加入 对绿色宽选中的区域进行剪切。作为找图时的小图。并以上一步选中的区域作为找图区域。并以此时区域的中心作为点击坐标。
*代码 直接生成找图点击代码。并复制到粘贴板。请自行新建一个脚本粘贴代码(建议格式化代码,方便查看)即可运行。
*关闭 停止使用本功能脚本。
*移动 移动悬浮窗。点击可以最小化 长按也可关闭此脚本。
**/
toastLog("Are you ready?");
if (!requestScreenCapture()) {
toast("请求截图失败");
exit();
};
threads.start(function() {
//console.show();
});
var IMG = captureScreen();
var MainImg = images.copy(IMG);
var window = floaty.rawWindow(
<vertical id="vertical" bg="#aaaaaa" w="{{Math.floor(device.width*0.9)}}px" h="{{Math.floor(device.width*0.9)}}px" gravity="center">
<canvas id="canvas" margin="5dp" layout_weight="1"/>
<HorizontalScrollView w="*">
<horizontal id="horizontal" w="*" gravity="center">
<button id="butJ" layout_weight="1" text="截图"/>
<button id="openImage" layout_weight="1" text="选图"/>
<button id="getRegion" layout_weight="1" text="区域"/>
<button id="addImg" layout_weight="1" text="加入"/>
<button id="setClip" layout_weight="1" text="代码"/>
<button id="butG" layout_weight="1" text="关闭"/>
</horizontal>
</HorizontalScrollView>
<button id="butY" w="*" text="移动"/>
</vertical>
);
var window_ = floaty.window(
<button id="but_" w="150px" h="150px" text="▽" alpha="0.7"/>
);
var ad = new 悬浮控制(window, window.butY, 1, window.vertical);
var ad_ = new 悬浮控制(window_, window_.but_);
var F = ad.OutScreen();
var F_ = ad_.OutScreen();
threads.start(function() {
sleep(100);
F_ = ad_.OutScreen();
ad_.windowyidong(F_);
});
ad.setClick(function() {
//window.disableFocus();
threads.start(function() {
F = ad.OutScreen();
ad.windowyidong(F);
ad_.windowyidong([F_[1], ad_.centerXY(ad.centerXY(F[0])[0])[1]]);
ad_.windowyidong(ad_.IntScreen());
ad_.windowyidong(ad_.toScreenEdge(0));
});
});
ad_.setClick(function() {
//window.disableFocus();
threads.start(function() {
F_ = ad_.OutScreen();
ad_.windowyidong(F_);
ad.windowyidong([F[1], ad.centerXY(ad_.centerXY(F_[0])[0])[1]]);
ad.windowyidong(ad.IntScreen());
});
});
window.butJ.click(function() {
threads.start(function() {
var F = ad.OutScreen();
ad.windowyidong(F);
sleep(100);
IMG = captureScreen();
//img.recycle();
MainImg = images.copy(IMG);
ad.windowyidong(F.reverse());
});
});
window.butG.on("click", () => {
exit()
});
ad.setLongClick(exit);
ad_.setLongClick(exit);
threads.start(function() {
sleep(100);
window.setPosition(device.width / 2 - window.getWidth() / 2, device.height / 2 - window.getHeight() / 2);
});
//黑色画笔。
var paint = new Paint;
var paint1 = new Paint;
var paint2 = new Paint;
//paint1.setTextSize(75);
//paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(0.675);
paint1.setStrokeWidth(0.675);
paint.setStyle(Paint.Style.STROKE);
paint1.setStyle(Paint.Style.STROKE);
paint2.setStyle(Paint.Style.FILL);
//paint.setARGB(255, 0, 0, 0);
paint.setColor(colors.RED);
paint1.setColor(colors.GREEN);
paint2.setColor(colors.GREEN);
//paint.setTextSize(75);
//android.view.MotionEvent
var findImageDataAry = new Array;
events.on("exit", clipToCode);
/*元素结构。
{
template:"fhfcgh==",//base64
options: {
region: [0, 0],
threshold: 0.8
},
p:{x:0,y:0},
};
*/
/*导出元素结构。
{
template:images.fromBase64("fhfcgh=="),//base64
options: {
region: [0, 0],
threshold: 0.8
},
p:{x:0,y:0},
};
*/
var imageRect = new android.graphics.RectF;
var canvasRect = new android.graphics.RectF;
var canvasMatrix = new android.graphics.Matrix;
var ASX = new XYToMatrix(canvasMatrix);
window.openImage.click(function() {
threads.start(function() {
var F = ad.OutScreen();
ad.windowyidong(F);
sleep(100);
var path = selectFile("/sdcard", "/脚本", function(dir, name) {
return name.endsWith(".jpg") || name.endsWith(".png") || files.isDir(files.join(dir, name));
});
if (path) {
var img = MainImg;
MainImg = 加载图片(path);
if (MainImg) {
imageRect.set(new android.graphics.RectF(0, 0, MainImg.getWidth(), MainImg.getHeight()));
canvasMatrix.setRectToRect(imageRect, canvasRect, android.graphics.Matrix.ScaleToFit.CENTER);
};
if (img) {
img.recycle();
};
};
ad.windowyidong(F.reverse());
});
});
var RE_rect;
window.getRegion.click(function() {
if (MainImg) {
RE_rect = new android.graphics.RectF(imageRect);
toastLog("OK");
};
});
window.addImg.click(function() {
if (MainImg) {
let x1 = imageRect.left < imageRect.right ? imageRect.left : imageRect.right,
y1 = imageRect.top < imageRect.bottom ? imageRect.top : imageRect.bottom,
x2 = imageRect.right >= imageRect.left ? imageRect.right : imageRect.left,
y2 = imageRect.bottom >= imageRect.top ? imageRect.bottom : imageRect.top;
let w = x2 - x1,
h = y2 - y1;
let cx = Math.floor(x1 + w / 2),
cy = Math.floor(y1 + h / 2);
let x_1 = x1,
y_1 = y1,
x_2 = x2,
y_2 = y2;
let w_ = w,
h_ = h;
let c_x = cx,
c_y = cy;
if (RE_rect) {
if (!RE_rect.contains(imageRect)) {
toastLog("错╳╳╳╳╳误");
toastLog("图片大于找图范围");
return;
};
x_1 = RE_rect.left < RE_rect.right ? RE_rect.left : RE_rect.right;
y_1 = RE_rect.top < RE_rect.bottom ? RE_rect.top : RE_rect.bottom;
x_2 = RE_rect.right >= RE_rect.left ? RE_rect.right : RE_rect.left;
y_2 = RE_rect.bottom >= RE_rect.top ? RE_rect.bottom : RE_rect.top;
w_ = x_2 - x_1;
h_ = y_2 - y_1;
c_x = Math.floor(x_1 + w_ / 2);
c_y = Math.floor(y_1 + h_ / 2);
};
let img = images.clip(MainImg, x1, y1, w, h);
/*
let file = new java.io.File(saveDir);
let toName = files.getNameWithoutExtension(imagePath) + "(剪切)" + getTimeString() + "." + files.getExtension(imagePath);
let toPath = files.join(file.getParent(), toName);
let objStr = JSON.stringify({
name: toName,
region: [x1, y1, x2 - x1, y2 - y1],
threshold: 0.8
});
//var toPath = "/sdcard/脚本/" + (new Date().getTime()) + ".png";
images.save(img, toPath, "png", 100);
//img.recycle();
//media.scanFile(toPath);
*/
let base64Img = images.toBase64(img, "png", 100);
findImageDataAry.push(
没有合适的资源?快使用搜索试试~ 我知道了~
AutoJs源码-找图点击代码生成器↑
共1个文件
js:1个
需积分: 6 4 下载量 156 浏览量
2022-11-15
20:43:34
上传
评论 1
收藏 9KB 7Z 举报
温馨提示
AutoJs源码-找图点击代码生成器↑。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!。3、安装过程详见具体资源,不会使用autojs谨慎下载
资源推荐
资源详情
资源评论
收起资源包目录
AutoJs源码-找图点击代码生成器↑.7z (1个子文件)
AutoJs源码-找图点击代码生成器↑.js 44KB
共 1 条
- 1
资源评论
[虚幻私塾】
- 粉丝: 335
- 资源: 1558
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java项目实战练习.zip
- java桌面小程序,主要为游戏.zip学习资料
- ember前端框架,一键部署到云开发平台.zip
- kero is a front-end model framework. - kero是一个前端模型框架,做为MVVM架构中Model层的增强,提供多维数据模型.zip
- PandaUi 是PandaX的前端框架,PandaX 是golang(go)语言微服务开发架构.zip
- v8垃圾回收机制 一篇技术分享文章
- libre后台管理系统前端,使用vue2开发.zip
- Java企业级快速开发平台 前后端分离基于nodejs+vue2+webpack+springboot.zip
- Java诊断工具.zip
- feHelper前端开发助手系统.zip开发
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功