8个稳定版本

使用旧的Rust 2015

1.8.0 2022年4月17日
1.7.0 2021年8月8日
1.6.0 2020年3月5日
1.5.0 2019年7月15日
1.2.1 2017年9月6日

#312 in 图像

Download history 19932/week @ 2024-03-14 24179/week @ 2024-03-21 21819/week @ 2024-03-28 23969/week @ 2024-04-04 22590/week @ 2024-04-11 25086/week @ 2024-04-18 21337/week @ 2024-04-25 20685/week @ 2024-05-02 20276/week @ 2024-05-09 24073/week @ 2024-05-16 16797/week @ 2024-05-23 16525/week @ 2024-05-30 15565/week @ 2024-06-06 17216/week @ 2024-06-13 15484/week @ 2024-06-20 12566/week @ 2024-06-27

64,071 每月下载量
49 个crate中(14个直接) 使用

MIT 许可证

50KB
713

QR码生成库 - Rust

简介

此项目旨在成为最佳的、最清晰的QR码生成库。主要目标是灵活的选项和绝对正确性。次要目标是紧凑的实现大小和良好的文档注释。

包含实时JavaScript演示、详细描述和竞争对手比较的主页:https://www.nayuki.io/page/qr-code-generator-library

特性

核心特性

  • 与竞争库相比,代码更短,但文档注释更多
  • 支持编码所有40个版本(大小)和所有4个纠错等级,符合QR码模型2标准
  • 输出格式:QR符号的原始模块/像素
  • 比其他实现更准确地检测类似定位符的惩罚模式
  • 在比通用文本更小的空间内编码数字和特殊字母数字文本
  • 开源代码,MIT许可证下

手动参数

  • 用户可以指定允许的最小和最大版本号,然后库将自动选择适合数据的范围内最小的版本
  • 用户可以手动指定掩码模式,否则库将自动评估所有8个掩码并选择最优的一个
  • 用户可以指定绝对纠错等级,或允许库在它不会增加版本号的情况下提升它
  • 用户可以手动创建数据段列表并添加ECI段

有关QR码技术和此库设计的更多信息,请参阅项目主页。

示例

extern crate qrcodegen;
use qrcodegen::Mask;
use qrcodegen::QrCode;
use qrcodegen::QrCodeEcc;
use qrcodegen::QrSegment;
use qrcodegen::Version;

// Simple operation
let qr = QrCode::encode_text("Hello, world!",
    QrCodeEcc::Medium).unwrap();
let svg = to_svg_string(&qr, 4);  // See qrcodegen-demo

// Manual operation
let text: &str = "3141592653589793238462643383";
let segs = QrSegment::make_segments(text);
let qr = QrCode::encode_segments_advanced(&segs,
    QrCodeEcc::High, Version::new(5), Version::new(5),
    Some(Mask::new(2)), false).unwrap();
for y in 0 .. qr.size() {
    for x in 0 .. qr.size() {
        (... paint qr.get_module(x, y) ...)
    }
}

更完整的示例集:https://github.com/nayuki/QR-Code-generator/blob/master/rust/examples/qrcodegen-demo.rs

无运行时依赖