使用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 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
Apr 07 Javascript
javascript window.opener的用法分析
Apr 07 Javascript
理解JavaScript的prototype属性
Feb 11 Javascript
jquery 如何动态添加、删除class样式方法介绍
Nov 07 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
JavaScrpt判断一个数是否是质数的实例代码
Jun 11 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
JavaScript十大取整方法实例教程
Dec 03 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
mysq GBKl乱码
2006/11/28 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
详解JavaScript的变量
2019/04/04 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
用Python进行TCP网络编程的教程
2015/04/29 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
Python数据结构之单链表详解
2017/09/12 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
django ajax json的实例代码
2018/05/29 Python
Python 字符串与数字输出方法
2018/07/16 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
python字符串下标与切片及使用方法
2020/02/13 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
Java的五个基础面试题
2016/02/26 面试题
物业管理求职自荐信
2013/09/25 职场文书
经理秘书岗位职责
2013/11/14 职场文书
七匹狼男装广告词
2014/03/21 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
党员政治学习材料
2014/05/14 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
志愿者个人总结
2015/03/03 职场文书
教师研修随笔感言
2015/11/18 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS