特性
使用示例
// 添加数据
QR qr1("https://github.com/caozhanhao/opqr");
QR qr2(std::vector<int>{0, 1, 2, 3});//or other containers, e.g. std::list
QR qr3;
qr3.add_data({4, 5, 6, 7});// initializer_list
// 指定参数
qr3.set_version(10);
qr3.set_level(ECLevel::L);
qr3.set_mode(Mode::NUM);
qr3.set_mask(6);
// 或
QR qr4(20, ECLevel::Q, Mode::ALNUM, 0);
// 二维码标准要求二维码Quiet Zone,即在周围有白边,这里也可以关闭
qr3.disable_quiet_zone();
// 输出,这里提供两种方式调整图片尺寸
// 第一种直接在原二维码的基础上扩大(`enlarge`倍),不用stb缩放
// - paint(fmt, path/ostream, enlarge) -> (QR dimension * enlarge) * (QR dimension * enlarge)
// 第二种方式通过stb缩放
// - paint(fmt, path/ostream, width, height) -> width * height
qr1.generate().paint(pic::Format::JPG, "examples/example3.jpg", 512, 512);
qr2.generate().paint(pic::Format::PNG, "examples/example1.png", 10);
qr3.generate().paint(pic::Format::ANSI256, std::cout, 2);
更多示例,见main.cpp
输出格式
- JPG
- PNG
- TGA
- BMP
- ANSI (可输出到终端, 即上例中qr3输出到std::cout)
依赖
- stb (用来生成图片,也是header-only)
- C++ 17
更多
|