qr-image vs jsqr vs qr.js vs qrious vs react-qr-code
二维码生成和扫描
qr-imagejsqrqr.jsqriousreact-qr-code类似的npm包:

二维码生成和扫描

二维码生成和扫描库为开发者提供了创建和解析二维码的工具。这些库简化了处理二维码的过程,使其在应用程序中更易于集成。无论是生成包含URL、文本或其他数据的二维码,还是扫描和解码二维码以提取信息,这些库都提供了高效的解决方案。jsqr 是一个专注于快速和准确扫描二维码的库,适合需要解码功能的应用。qr-image 是一个用于生成高质量二维码图像的库,支持多种格式,适合需要生成二维码的服务器端应用。qr.js 是一个轻量级的二维码生成库,适合前端应用,提供简单的API用于创建二维码。qrious 是一个功能丰富的二维码生成库,支持自定义样式和大小,适合需要更灵活设计的应用。react-qr-code 是一个专为React设计的二维码生成组件,方便在React应用中集成二维码功能。

npm下载趋势

3 年

GitHub Stars 排名

统计详情

npm包名称
下载量
Stars
大小
Issues
发布时间
License
qr-image174,7941,063-149 年前MIT
jsqr04,009-965 年前Apache-2.0
qr.js0---13 年前MIT
qrious01,625-439 年前GPL-3.0
react-qr-code087514.4 kB1515 天前MIT

功能对比: qr-image vs jsqr vs qr.js vs qrious vs react-qr-code

二维码生成

  • qr-image:

    qr-image 提供高质量的二维码生成,支持PNG、SVG和PDF格式,适合多种应用场景。

  • jsqr:

    jsqr 主要专注于二维码扫描,而不是生成。它不提供生成二维码的功能。

  • qr.js:

    qr.js 是一个轻量级的二维码生成库,适合快速创建简单的二维码。

  • qrious:

    qrious 提供丰富的二维码生成功能,支持自定义颜色、大小和样式,适合需要更灵活设计的应用。

  • react-qr-code:

    react-qr-code 是一个React组件,专注于生成二维码,支持简单的自定义,如颜色和大小。

二维码扫描

  • qr-image:

    qr-image 不提供二维码扫描功能,主要用于生成二维码图像。

  • jsqr:

    jsqr 是一个专注于二维码扫描和解码的库,提供快速和准确的扫描功能,适合需要从图像或摄像头中提取二维码数据的应用。

  • qr.js:

    qr.js 仅提供二维码生成功能,不支持扫描。

  • qrious:

    qrious 仅提供二维码生成功能,不支持扫描。

  • react-qr-code:

    react-qr-code 仅提供二维码生成功能,不支持扫描。

自定义

  • qr-image:

    qr-image 允许自定义生成的二维码图像,包括大小、颜色和边距,适合需要调整二维码外观的应用。

  • jsqr:

    jsqr 不支持自定义扫描功能,但其算法优化使其在各种条件下表现良好。

  • qr.js:

    qr.js 提供基本的自定义选项,如二维码的大小和颜色,但功能较为简单。

  • qrious:

    qrious 提供丰富的自定义选项,允许调整二维码的颜色、大小和样式,适合需要更具视觉吸引力的设计。

  • react-qr-code:

    react-qr-code 允许简单的自定义,如颜色和大小,但不支持复杂的样式调整。

集成

  • qr-image:

    qr-image 适合集成到Node.js服务器端应用中,用于动态生成二维码图像。

  • jsqr:

    jsqr 易于集成到各种JavaScript应用中,特别是需要从摄像头或图像中扫描二维码的应用。

  • qr.js:

    qr.js 适合在前端应用中快速集成,提供简单的API用于生成二维码。

  • qrious:

    qrious 易于集成,特别是需要自定义二维码设计的应用。

  • react-qr-code:

    react-qr-code 设计为React组件,易于在React应用中集成和使用。

代码示例

  • qr-image:

    qr-image 代码示例:

    const qr = require('qr-image');
    const svg = qr.image('https://example.com', { type: 'svg' });
    svg.pipe(require('fs').createWriteStream('qrcode.svg'));
    
  • jsqr:

    jsqr 代码示例:

    import jsQR from 'jsqr';
    const imageData = ctx.getImageData(0, 0, width, height);
    const code = jsQR(imageData.data, width, height);
    if (code) {
      console.log('二维码数据:', code.data);
    }
    
  • qr.js:

    qr.js 代码示例:

    import QRCode from 'qr.js';
    const qr = new QRCode('https://example.com');
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    // 绘制二维码
    
  • qrious:

    qrious 代码示例:

    import Qrious from 'qrious';
    const qr = new Qrious({
      element: document.getElementById('qr'),
      value: 'https://example.com',
      size: 200,
      background: 'white',
      foreground: 'black'
    });
    
  • react-qr-code:

    react-qr-code 代码示例:

    import QRCode from 'react-qr-code';
    const MyQRCode = () => <QRCode value="https://example.com" />;
    

如何选择: qr-image vs jsqr vs qr.js vs qrious vs react-qr-code

  • qr-image:

    如果您的应用需要生成高质量的二维码图像,特别是在服务器端,选择 qr-image。它支持多种图像格式,适合生成用于打印或显示的二维码。

  • jsqr:

    如果您需要一个专注于扫描和解码二维码的库,选择 jsqr。它适合需要从摄像头或图像中提取二维码数据的应用。

  • qr.js:

    如果您需要一个简单且轻量的前端二维码生成库,选择 qr.js。它提供基本的二维码生成功能,适合不需要复杂设置的应用。

  • qrious:

    如果您需要更多自定义选项来设计二维码,选择 qrious。它允许您调整二维码的样式、颜色和大小,适合需要更具视觉吸引力的二维码。

  • react-qr-code:

    如果您正在使用React并需要一个易于集成的二维码生成组件,选择 react-qr-code。它专为React设计,提供简单的API和良好的性能。

qr-image的README

qr-image

npm version

This is yet another QR Code generator.

Overview

  • No dependecies;
  • generate image in png, svg, eps and pdf formats;
  • numeric and alphanumeric modes;
  • support UTF-8.

Releases

Installing

npm install qr-image

Usage

Example:

var qr = require('qr-image');

var qr_svg = qr.image('I love QR!', { type: 'svg' });
qr_svg.pipe(require('fs').createWriteStream('i_love_qr.svg'));

var svg_string = qr.imageSync('I love QR!', { type: 'svg' });

More examples

qr = require('qr-image')

Methods

  • qr.image(text, [ec_level | options]) — Readable stream with image data;
  • qr.imageSync(text, [ec_level | options]) — string with image data. (Buffer for png);
  • qr.svgObject(text, [ec_level | options]) — object with SVG path and size;
  • qr.matrix(text, [ec_level]) — 2D array.

Options

  • text — text to encode;
  • ec_level — error correction level. One of L, M, Q, H. Default M.
  • options — image options object:
    • ec_level — default M.
    • type — image type. Possible values png (default), svg, pdf and eps.
    • size (png and svg only) — size of one module in pixels. Default 5 for png and undefined for svg.
    • margin — white space around QR image in modules. Default 4 for png and 1 for others.
    • customize (only png) — function to customize qr bitmap before encoding to PNG.
    • parse_url (experimental, default false) — try to optimize QR-code for URLs.

Changes

  • Use zlib.deflateSync instead of pako.
  • Fix deprecation warning for NodeJS 7.

TODO

  • Tests;
  • mixing modes;
  • Kanji (???).