【autojs】Auto.js Pro二维码识别脚本源代码

代码

"ui";

ui.layout(
    <vertical>
       <text id="text_te" paddingTop="10" textSize="19sp" text="请先选择图片"/>
        <text id="text_test" paddingTop="10" textSize="19sp"/>
        <horizontal padding="90 20 10 10">
            <button id="calc" align="center">选择图片</button>
            <button id="up" align="center">识别</button>
        </horizontal>
        <text id="text_url" paddingTop="10" textSize="19sp"/>
    </vertical>
);

var ResultIntent = {
   
    intentCallback: {
   },
    init: function() {
   
        activity.getEventEmitter().on("activity_result", (requestCode, resultCode, data) => {
   
            this.onActivityResult(requestCode, resultCode, data);
        });
    },
    startActivityForResult: function(intent, callback) {
   
        var i;
        for (i = 0; i < 65536; i++) {
   
            if (!(i in this.intentCallback)) break;
        }
        if (i >= 65536) {
   
            toast("启动Intent失败:同时请求的Intent过多");
            return;
        }
        this.intentCallback[i] = callback;
        activity.startActivityForResult(intent, i);
    },
    onActivityResult: function(requestCode, resultCode, data) {
   
        var cb = this.intentCallback[requestCode];
        if (!cb) return;
        delete this.intentCallback[requestCode]
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用qrcode.js识别二维码的完整实例代码: ```html <!DOCTYPE html> <html> <head> <title>QR Code Scanner Example</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script> </head> <body> <h1>QR Code Scanner Example</h1> <div id="qr-reader"></div> <script> // 创建二维码扫描器 var qr = new QCodeDecoder(); // 找到视频元素和canvas元素 var video = document.createElement('video'); var canvasElement = document.getElementById('qr-canvas'); var canvas = canvasElement.getContext('2d'); // 获取摄像头权限并启动扫描器 navigator.mediaDevices.getUserMedia({video: {facingMode: "environment"}}) .then(function(stream) { video.srcObject = stream; video.setAttribute('playsinline', true); video.play(); requestAnimationFrame(tick); }); function tick() { if (video.readyState === video.HAVE_ENOUGH_DATA) { canvasElement.hidden = false; // 将视频帧绘制到画布上 canvasElement.height = video.videoHeight; canvasElement.width = video.videoWidth; canvas.drawImage(video, 0, 0, canvasElement.width, canvasElement.height); try { // 从画布中获取图像数据并解码二维码 var result = qr.decode(); // 显示解码结果 alert(result); } catch (e) { // 如果没有找到二维码,则继续扫描 requestAnimationFrame(tick); } } else { // 如果视频还没有准备好,则继续等待 requestAnimationFrame(tick); } } </script> </body> </html> ``` 在上面的代码中,我们首先引入了jQuery和qrcode.js库。然后,我们创建了一个`QCodeDecoder`对象来识别二维码。接下来,我们使用`navigator.mediaDevices.getUserMedia`方法获取摄像头权限,并启动视频流。我们使用`requestAnimationFrame`方法来循环读取视频帧并在画布上绘制它们,直到我们找到了一个二维码。一旦找到了二维码,我们就会解码它并显示解码结果。如果没有找到二维码,则我们将继续扫描。注意,在上面的代码中,我们使用了`facingMode: "environment"`选项来指定使用后置摄像头。如果你想使用前置摄像头,可以将其更改为`facingMode: "user"`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值