使用javascript解析二维码的三种方式


Posted in Javascript onNovember 11, 2021

一、使用javascript解析二维码

1、二维码是什么

二维码就是将我们能看懂的文字语言,以机器语言的形式存储了起来。其中黑色小方块代表的是1,白色小方块代表的是0,黑白相间的图案其实就是一串编码,扫码的过程就是翻译这些编码的过程。还要值得注意的地方就是,在它的边上都有三个大方块,这主要是在起定位作用。三个点能确定一个面,这能保证我们在扫码时,不管手机怎样放置都能得到特定的信息

二、qrcode-parser

这是一个没有依赖的二维码前端解析工具。优点是包小,轻量级工具,缺点不会调用摄像头。需要编写调用摄像头的代码。

1、安装方式

npm add  qrcode-parser

2、使用方式

import qrcodeParser from 'qrcode-parser'

let img = '';
qrcodeParser().then(res =>{
    console.log(res)
})

三、ngx-qrcode2

一个集成到angular的二维码生成工具。只能生成,不能读取。

1、安装方式

npm add ngx-qrcode2

2、使用方式

Appmodule 中导入模块:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NgxQRCodeModule } from 'ngx-qrcode2';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgxQRCodeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app.component.html 插入的模板:

<div style="text-align:center">
  <h1>ngx-qrcode2 demo</h1>
</div>

<ngx-qrcode
      [qrc-element-type]="elementType"
      [qrc-value] = "value"
      qrc-class = "aclass"
      qrc-errorCorrectionLevel = "L">
</ngx-qrcode>

在app.component.ts 中添加代码:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';
  elementType = 'url';
  value = 'Techiediaries';
}

四、前端生成二维码

1、安装方式

npm install @techiediaries/ngx-qrcode --save

2、使用方式

在Appmodule中导入模块:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { QrCodeAllModule } from 'ngx-qrcode-all';
import { AppComponent } from './app.component';

@NgModule({
    imports: [
        CommonModule,
        QrCodeAllModule
    ],
    declarations: [
        AppComponent
    ]
})
export class AppModule {
    constructor() {}
}

3、案例一:生成二维码的代码模板

<div id="qrcodeid">
 <qr-code-all [qrCodeType]="url"
     [qrCodeValue]="'SK is the best in the world!'"
     [qrCodeVersion]="'1'"
     [qrCodeECLevel]="'M'"
     [qrCodeColorLight]="'#ffffff'"
     [qrCodeColorDark]="'#000000'"
     [width]="11"
     [margin]="4"
     [scale]="4"
     [scanQrCode]="false">
 </qr-code-all>
</div>

4、案例二:读取二维码

<div id="qrcodeid">
 <qr-code-all [canvasWidth]="640"
     [canvasHeight]="480"
     [debug]="false"
     [stopAfterScan]="true"
     [updateTime]="500"
     (onCapture)="captureImage($event)"
     [scanQrCode]="true">
 </qr-code-all>
</div>

到此这篇关于使用javascript解析二维码的三种方式的文章就介绍到这了,更多相关javascript解析二维码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一实用的实现table排序的Javascript类库
Sep 12 Javascript
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
基于复选框demo(分享)
Sep 27 Javascript
解析vue中的$mount
Dec 21 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 Javascript
layDate插件设置开始和结束时间
Nov 15 Javascript
javascript浅层克隆、深度克隆对比及实例解析
Feb 09 Javascript
vue实现列表拖拽排序的功能
Nov 02 Javascript
实现一个简单得数据响应系统
Nov 11 #Javascript
JavaScript函数柯里化
Nov 07 #Javascript
JS数组去重详情
Nov 07 #Javascript
手写实现JS中的new
Nov 07 #Javascript
用JS写一个发布订阅模式
Nov 07 #Javascript
浅谈JavaScript浅拷贝和深拷贝
JavaScript严格模式不支持八进制的问题讲解
You might like
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
理解javascript中的闭包
2017/01/11 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
详解django自定义中间件处理
2018/11/21 Python
Python异常处理知识点总结
2019/02/18 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
上班玩手机检讨书
2014/02/17 职场文书
班班通校本培训方案
2014/03/12 职场文书
新品发布会策划方案
2014/06/08 职场文书
国际贸易系求职信
2014/08/09 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
师德先进个人材料
2014/12/20 职场文书
超市员工辞职信范文
2015/05/12 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书