首页 > 其他分享 >扫码

扫码

时间:2025-01-07 21:55:30浏览次数:1  
标签:扫码 code const canvas height width video

<body>
  <video id="video" style="width: 400px"></video>
  <canvas id="canvas" style="width: 400px"></canvas>
  <br />
  <button type="button" onclick="takePicture()">Take Picture</button>

  <!-- https://cdn.jsdelivr.net/npm/jsqr@1.4.0/dist/jsQR.min.js -->
  <script src="jsqr.js"></script>
  <script>
    function takePicture() {
      navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' } }).then(
        (stream) => {
          /** @type {HTMLVideoElement} */
          const video = document.getElementById('video');

          /** @type {HTMLCanvasElement}  */
          const canvas = document.getElementById('canvas');
          const ctx = canvas.getContext('2d');

          video.muted = true;
          video.setAttribute('playsinline', true);

          video.onloadedmetadata = () => {
            canvas.width = video.videoWidth;
            canvas.height = video.videoHeight;
            draw();
          };
          video.srcObject = stream;
          video.play();

          const draw = () => {
            ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
            const { data } = ctx.getImageData(0, 0, canvas.width, canvas.height);

            const code = jsQR(data, canvas.width, canvas.height);

            video.requestVideoFrameCallback(() => {
              console.log(code);
              if (code) {
                // 扫到二维码,停止视频流
                video.pause();
                video.srcObject.getTracks()[0].stop();
                return;
              }
              draw();
            });
          };
        },
        (error) => {
          console.error(error);
        }
      );
    }
  </script>
</body>

标签:扫码,code,const,canvas,height,width,video
From: https://www.cnblogs.com/chlai/p/18658440

相关文章

  • SaaS海外扫码点餐餐厅管理系统:支持扫码点餐、堂食、外卖,兼容海外付款,一站式便捷管理
    采用这款海外扫码点餐系统,您的餐厅运营将得到前所未有的显著提升。它不仅仅是一款软件,而是一款专为各类餐饮场所量身打造的一体化SaaS解决方案,能够精准贴合不同品牌和运营的独特需求。无论您的餐厅是小巧精致的酒馆,还是繁忙拥挤的连锁餐厅,该系统都能提供一个既可扩展又直观的操......
  • uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款
    uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款等功能,界面漂亮颜值高,视频商城小工具等,蚂蚁森林种树养鸡农场偷菜样样齐用于视频,商城,直播,聊天等sumer-alipay介绍uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝......
  • uniapp [安卓苹果App端] - 解决uni.scanCode扫码黑屏报错问题,uniApp app平台真机运行
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在uni-appApp端(安卓APP|苹果APP)开发中,解决使用uni.scanCode调起摄像头扫码黑屏问题,uniAPP真机调试扫码一片黑并且可能有报错,有时候连续扫码时首次没问题但第二次就会黑屏没反应(退出去再进来就......
  • uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款
    uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款等功能,界面漂亮颜值高,视频商城小工具等,蚂蚁森林种树养鸡农场偷菜样样齐用于视频,商城,直播,聊天等sumer-alipay介绍uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝......
  • JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序
    JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序在当今快节奏的生活中,自助洗车服务以其高效、便捷的特点逐渐受到广大车主的青睐。为满足这一市场需求,我们精心打造了一款JAVA无人共享24小时自助洗车扫码洗车系统,其源码全面支持小程序接入,不仅极大地提升了用户体验,还为......
  • JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序
    JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序在当今快节奏的生活中,自助洗车服务以其高效、便捷的特点逐渐受到广大车主的青睐。为满足这一市场需求,我们精心打造了一款JAVA无人共享24小时自助洗车扫码洗车系统,其源码全面支持小程序接入,不仅极大地提升了用户体验,还为......
  • uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款
    uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款等功能,界面漂亮颜值高,视频商城小工具等,蚂蚁森林种树养鸡农场偷菜样样齐用于视频,商城,直播,聊天等sumer-alipay介绍uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝......
  • RS232自由转Profinet网关扫码枪连接plc程序
    你是否曾为如何在不编写繁杂代码的情况下,把条形码数据上传至PLC而烦恼呢?别担心,今天就给大家分享一个超简单的解决方案哦!在这里,要给大家介绍一组堪称“神奇搭档”的组合,那就是捷米的JM-RS232-PN(rs232转Profient网关)以及锐码的TC8850型号多功能无线扫码枪。当我们把......
  • RS232自由转Profinet网关扫码枪连接plc西门子
    你是否曾为如何在不编写繁杂代码的情况下,把条形码数据上传至PLC而烦恼呢?别担心,今天就给大家分享一个超简单的解决方案哦!在这里,要给大家介绍一组堪称“神奇搭档”的组合,那就是捷米的JM-RS232-PN(rs232转Profient网关)以及锐码的TC8850型号多功能无线扫码枪。当我们把这二......
  • uniapp 如何实现扫码搜索
    场景描述在众多移动应用中需要用到扫码二维码或条码查询信息的场景比比皆是,如商品管理中查询商品信息,订单跟踪过程中扫码单号查询订单信息和库存管理中的商品盘点。                                (图......