解析二维码的三种方式
效果预览
方式一jsqr
// jsQR识别var fileJsqrId = document.getElementById('upload-jsqr');fileJsqrId.addEventListener('change', function (e) {const files = e.target.files;const file = files[0];const reader = new FileReader();reader.readAsDataURL(file);reader.addEventListener('load', (event) => {var img = new Image();img.src = event.target.result;img.onload = function () {var c = document.getElementById('canvas-jsqr');var ctx = c.getContext('2d');c.setAttribute('width', img.width);c.setAttribute('height', img.height);ctx.drawImage(img, 0, 0, img.width, img.height);var imageData = ctx.getImageData(0, 0, img.width, img.height);const code = jsQR(imageData.data, imageData.width, imageData.height, {inversionAttempts: "dontInvert",});if (code) {document.getElementById('result-jsqr').value = code.data;} else {alert('ERROR!识别错误!')}}})})
方式二 qrcode
// qrcode识别var fileQrcodeId = document.getElementById('upload-qrcode');fileQrcodeId.onchange = function (e) {const files = e.target.files;const file = files[0];qrcode.decode(getObjectURL(file, 'canvas-qrcode'));qrcode.callback = function (result) {document.getElementById('result-qrcode').value = result;}
}
方式三qrcode-decoder
// qrcode decoder 识别var qrcodedecoder = document.getElementById('upload-decoder');qrcodedecoder.onchange = function (e) {const files = e.target.files;const file = files[0];var qr = new QrcodeDecoder();qr.decodeFromImage(getObjectURL(file, 'canvas-decoder')).then((res) => {document.getElementById('result-decoder').value = res.data;});}
完整代码:Github地址
解析二维码的三种方式相关推荐
- 生成二维码的三种方式
一:二维码的概念 二维条码(2-dimemsional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的图形 二: 二维码的分类 通常分为三 ...
- java创建QRCode二维码的三种方式
自己在网上看视频学习了下如何使用java创建二维码,感觉还是挺有趣的,有小心思的还可以把秘密存入二维码中噢 视频源网址:http://www.imooc.com/learn/531 点击下载jar包 ...
- PHP开发日志 ━━ php、javascript生成二维码的三种方法
最简单最实例的goolge开源方法 推荐手册:php完全自学手册 1.google开放api 代码如下: $urlToEncode="http://www.helloweba.com&quo ...
- Vue中生成二维码的一种方式—vue-qr
Vue中生成二维码的一种方式-vue-qr vue实现二维码生成(vue + vue-qr)
- 微信小程序生成二维码的两种方式
微信小程序生成二维码的两种方式 2020/11/10 第一种,利用网络api自动生成 <image class="xin-erma" src="{{'https:/ ...
- 在web页面上快速生成二维码的三种实用方法
转载自:在web页面上快速生成二维码的三种实用方法 二维码是桌面和移动端快速分享的高效手段之一,这里介绍两个不错的快速开发二维码的方法,和大家分享一下~~ 方法1:使用极客标签提供的二维码快速生成服务 ...
- 实现二维码-完整三种编码流程加代码解析(javascript)
效果 输入内容:XXXwedewed生日//&sss乐❤XXXwedewed生日//&sss乐❤ 完整的演示效果为,输入内容后会将解码绘制的每一步都展示(有点长就不全截图了,可以直接移 ...
- 利用jquery的qrcode.js插件生成二维码的两种方式的使用
2019独角兽企业重金招聘Python工程师标准>>> 利用jquery的qrcode.js插件生成二维码的额两种方式,canvas(即画布)方式和table方式(原文地址http: ...
- 利用VUE生成二维码(两种方式)
利用Vue生成二维码 Author:kak vue有两种生成二维码的方式,qrcode.vue-qr(有icon): 1.qrcode npm ``install` `--save qrcodejs2 ...
最新文章
- C#的四种Timer介绍
- 因为有了这个画图工具集,老师同学都说我画的图有特色(Processon,draw.io,Xmind)
- PyTorch随笔-3
- Hashcode 的作用
- 产品质量不过关怎么办?一招帮你大幅提高生产质量
- 使用 luajit的ffi 调用libcurl
- Tomcat内存设置方法(转载并实践)
- 使用windows system backup 裸机恢复域控-windows2008
- Tab栏切换效果的制作
- mysql开启url重写_开启URL伪静态的方法
- 安全狗又拿下一场重保胜战 第22届投洽会顺利谢幕
- 重置计算机的本地策略,手把手教你win10系统本地组策略重置恢复默认的详细方案...
- 阿里云视频点播 和HLS加密解密
- 英语单词词性顺口溜_英语单词词性分类
- 什么是人工智能?你需要知道的关于人工智能的一切
- 【从Java转C#】第八章:委托、lambda、事件
- 【科创人】维格表创始人陈霈霖:喜茶数字化转型的结晶是vika维格表
- 笨方法学python6-10
- 网上讲的比较清晰的VOT跟踪评价指标EAO
- VMware Horizon View 7 规划部署图解