使用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 相关文章推荐
Mozilla 表达式 __noSuchMethod__
Apr 05 Javascript
jQuery 幻灯片插件(带缩略图功能)
Jan 24 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
JavaScript的各种常见函数定义方法
Sep 16 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
jQuery多级联动下拉插件chained用法示例
Aug 20 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
详解各版本React路由的跳转的方法
May 10 Javascript
vue2.0 实现富文本编辑器功能
May 26 Javascript
VUE实现自身整体组件销毁的示例代码
Jan 13 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 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
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP运行模式汇总
2016/11/06 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
python计算导数并绘图的实例
2020/02/29 Python
python 实现两个线程交替执行
2020/05/02 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
青春寄语大全
2014/04/09 职场文书
公司股份合作协议书
2014/12/07 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python