使用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 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
Javascript数组Array基础介绍
Mar 13 Javascript
JS简单循环遍历json数组的方法
Apr 22 Javascript
jquery使用on绑定a标签无效 只能用live解决
Jun 02 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
详解vue嵌套路由-query传递参数
May 23 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 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生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
实例讲解php数据访问
2016/05/09 PHP
PHP文件与目录操作示例
2016/12/24 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
jquery延迟对象解析
2016/10/26 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Python3读写ini配置文件的示例
2020/11/06 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
卫校毕业生自我鉴定
2014/09/28 职场文书
乐山大佛导游词
2015/02/02 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
学会Python数据可视化必须尝试这7个库
2021/06/16 Python