使用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脚本实现Web页面信息交互
Oct 11 Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
如何提高javascript加载速度
Dec 26 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
详解新手使用vue-router传参时注意事项
Jun 06 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/18 PHP
php中socket的用法详解
2014/10/24 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
学习ExtJS border布局
2009/10/08 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
vue实现放大镜效果
2020/09/17 Javascript
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
人机交互程序 python实现人机对话
2017/11/14 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
Apache自带的ab压力测试工具的实现
2022/07/23 Servers