【autojs】Auto.js Pro截图取色脚本源代码

本文提供了一段Auto.js Pro的截图取色脚本代码,并介绍了Auto.js Pro的基本概念,如其基于JavaScript的脚本引擎,支持ES5和部分ES6特性。Auto.js Pro的特点包括能开发免ROOT安卓脚本,基于节点操作,丰富的UI组件,优雅的语法,丰富的命令库和小体积的脚本文件。
摘要由CSDN通过智能技术生成

代码

/**
 *完成时间: 2019年4月18日 下午9:42:35
 *测试机型: vivo PD1813D
  *Auto.js版本: 4.1.0 Alpha5
  *Android版本: 8.1.0
  *屏幕: 1080*2280
  *API: 27
 *备注: 暂无备注
**/

//此代码由飞云脚本圈整理提供(www.feiyunjs.com)

toastLog("Are you ready?");
var IMG, img;

if (!requestScreenCapture()) {
   
    toast("请求截图失败");
    exit();
};

IMG = captureScreen();
img = images.copy(IMG);



var window = floaty.rawWindow(
    <vertical id="vertical" bg="#aaaaaa" w="{
   {Math.floor(device.width*0.8)}}px" h="{
   {Math.floor(device.width*0.8)}}px" gravity="center">
        <canvas id="canvas" margin="5dp" layout_weight="1"/>
        <horizontal id="horizontal" margin="5dp" w="*" gravity="center">
            <button id="butJ" layout_weight="1" text="截图"/>
            <button id="butX" layout_weight="1" text="选图"/>
            <button id="butY" layout_weight="1" text="移动"/>
            <button id="butG" layout_weight="1" text="关闭"/>
        </horizontal>
    </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);
        var IMG = captureScreen();
        //img.recycle();
        img = images.copy(IMG);
        ad.windowyidong(F.reverse());
    });
});

window.butX.click(function() {
   
    threads.start(function() {
   
        var F = ad.OutScreen();
        ad.windowyidong(F);
        var Apath = "/sdcard";
        var path = listpath(Apath);
        if (path) {
   
            var IMG = 加载图片(path);
            //img.recycle();
            img = images.copy(IMG);
        };
        ad.windowyidong(F.reverse());
    });
});



window.butG.on("click",()=>{
   exit()});
ad.setLongClick(exit);
ad_.setLongClick(exit);


//setInterval(() => {}, 1000);
//window.exitOnClose();







var paint = new Paint;
paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(5);
paint.setStyle(Paint.Style.STROKE);
var data = {
   
    translate: {
   
        x: 0,
        y: 0
    },
    scale: 1,
};

threads.start(function() {
   
    sleep(100);
    window.setPosition(device.width / 2 - window.getWidth() / 2, device.height / 2 - window.getHeight() / 2);
    sleep(100);
    data = {
   
        translate: {
   
            x: -(window.getX() + window.canvas.getX()),
            y: -(window.getY() + window.canvas.getY())
        },
        scale: 1,
    };
});


var 点色;


setInterval(() => {
   
    if (点色) {
   
        ui.run(() => {
   
            window.vertical.attr("bg", colors.toString(反色(点色.color)));
            window.horizontal.attr("bg", 点色.colorString);
        });
    };

}, 50);

window.canvas.on("draw", function(canvas) {
   

    canvas.drawARGB(255, 127, 127, 127);
    try {
   
        if (!img) {
   
            return;
        };
        var w = canvas.getWidth();
        var h = canvas.getHeight();
        paint.setStrokeWidth(5);
        var matrix = new android.graphics.Matrix();
        matrix.postScale(data.scale, data.scale);
        matrix.postTranslate(data.translate.x, data.translate.y);
        paint.setARGB(255, 0, 0, 0);
        canvas.drawImage(img, matrix, paint);
        paint.setStrokeWidth(5);
        paint.setStyle(Paint.Style.STROKE);
        paint.setARGB(255, 255, 255, 0);
        canvas.drawLine(w / 2 - 50, h / 2, w / 2 - 100, h / 2, paint);
        paint.setARGB(255, 255, 0, 255);
        canvas.drawLine(w / 2, h / 2
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值