使用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 相关文章推荐
jquery form表单提交插件asp.net后台中文解码
Jun 12 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
js获取对象为null的解决方法
Nov 21 Javascript
js控制分页打印、打印分页示例
Feb 08 Javascript
一个判断抢购时间是否到达的简单的js函数
Jun 23 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
Oct 16 Javascript
利用React-router+Webpack快速构建react程序
Oct 27 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
利用jsonp与代理服务器方案解决跨域问题
Sep 14 Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 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运行模式的深入理解
2013/06/03 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP安全下载文件的方法
2016/04/07 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
详解参数传递四种形式
2015/07/21 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
通过数据库向Django模型添加字段的示例
2015/07/21 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
Python Django 命名空间模式的实现
2019/08/09 Python
python构造IP报文实例
2020/05/05 Python
Python脚本调试工具安装过程
2021/01/11 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
学习“七一”讲话精神体会
2014/07/08 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
2014全年工作总结
2014/11/27 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Go语言安装并操作redis的go-redis库
2022/04/14 Golang