libqr简介

libqr是github上开源的二维码生成库,地址:https://github.com/rsky/qrcode。使用c语言写成,但是用在c++代码里面毫无违和感,api简单好用,自带输出bitmap(未验证)和png格式图片的二维码,不过有一点,好像是日本人写的。。。。

代码示例

libqr使用起来非常简单,只需要包含qr.h头文件,编译的时候把libqr.a给编译进去。使用libqr生成二维码分成4个步骤:

  • 初始化二维码句柄
  • 添加数据
  • 调用finalize
  • 生成图片

使用过程中需要对二维码有基本的了解,需要知道二维码的version,mode,纠错等级和掩码,推荐看这篇文章:http://news.cnblogs.com/n/191671/
废话少说,直接上实例代码

#include <stdio.h>
#include <fstream>
#include "qr.h"using namespace std;
int main()
{int errcode = QR_ERR_NONE;//qrInit的5个参数分别是version,mode,纠错等级和掩码,使用过程中使用除了QR_EM_8BIT以外的mode会生成不正常的二维码,暂时不知道原因。QRCode* p = qrInit(10, QR_EM_8BIT, 2, -1, &errcode);if (p == NULL){printf("error\n");return -1;}string strData = "http://www.baidu.com中文";qrAddData(p, (const qr_byte_t* )strData.data(), strData.length());//注意需要调用qrFinalize函数if (!qrFinalize(p)){printf("finalize error\n");return -1;}int size = 0;//两个5分别表示:像素之间的距离和二维码图片的放大倍数,范围都是1-16qr_byte_t * buffer = qrSymbolToPNG(p, 5, 5, &size);if (buffer == NULL){printf("error %s", qrGetErrorInfo(p));return -1;}ofstream f("a.png");f.write((const char *)buffer, size);f.close();return 0;
}

简单粗暴几行就搞定了,相比起其他晦涩难懂并且还要加上图片库配套使用的二维码生成库来说真是太方便了。

libqr--简单好用的c++二维码生成库相关推荐

  1. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  2. 推荐一个开源的 .NET 二维码生成库

    你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 介绍 QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组 ...

  3. Python二维码生成库qrcode示例

    二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明.现随着智能手机的普及,已广泛应用 ...

  4. C/C++二维码生成库qrencode的使用

    1.在 https://fukuchi.org/works/qrencode/ 下载qrencode库,我下的是qrencode-4.0.2.tar.gz版本. 2.为该库生成vs解决方案,这里用到c ...

  5. 二维码生成库zxing 空白边距问题

    今天项目中有生成 二维码的需求,所以就想到了zxing这个 二维码库,至于zxing库的详解,这里不做说明,网上一大堆.这里主要讲下使用过程中遇到的大坑,空白边距问题.源码中给出了一个margen的参 ...

  6. VUE中:printJS使用,附带JsBarcode条码生成器,网页转图片html2canvas,base64上传保存处理,二维码生成库qrcode,二维码/条码扫描识别,domtoimage

    官网 JsBarcode官网 JsBarcode的GitHub-WIKI 我的项目需求只需要将配置好的HTML与CSS样式传入进去就好,较为简单. 九个月后html2canvas出现线上问题 设置了跨 ...

  7. C++二维码相关库编译

    一.瞎想 坐在地铁上闲来无聊,突然想到了二维码,顺手就百度了下相关的资料,目前C++二维码相关的库不多,也就zbar(开源中国上下了半天也没下载下来).zxing,不过这两个库据说都是解析二维码的,不 ...

  8. iOS中 扫描二维码/生成二维码详解

    最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 指示根视图: ? 1 self.window.rootViewController = [[UINav ...

  9. 【愚公系列】2022年12月 .NET CORE工具案例-.NET Core使用QrCodeGenerator进行二维码生成

    文章目录 前言 一..NET Core使用QrCodeGenerator进行二维码生成 1.安装nuget程序包 2.二维码生成 2.1 基本生成 2.2 设置前景和背景颜色 2.3 生成 PNG 格 ...

最新文章

  1. JBoss EAP应用获取运行模式、相关路径及节点信息
  2. java pojo 转 map_JSON和JAVA的POJO的相互转换
  3. python调用程序call_call在Python中改进数列的实例讲解
  4. opencv3.4.5安装包
  5. aucc2018插件_Voxengo音频插件合集2018最新版
  6. Web性能优化:雅虎35条
  7. 【TSP问题】基于狼群算法求解旅行商问题含Matlab源码
  8. Office2016简体中文专业版32/64
  9. web开发中实现页面记忆的几种方式
  10. 手机网页底部广告代码,悬浮底部广告,带关闭开关,复制文字,按钮
  11. ls mac 显示最近修改日期_Mac命令行常用操作
  12. Livy的CDH环境parcel和csd制作
  13. 计算机主板供电,主板供电/元器件
  14. python如何把ts视频拼接起来_Python爬取网站m3u8视频,将ts解密成mp4,合并成整体视频...
  15. 将html文件设置成桌面壁纸(含有时间罗盘源码免费文件)
  16. 斗罗大陆CSS_204687
  17. 图片相似度计算:深入理解DCT变换以及感知哈希
  18. pureftp部署优化
  19. 4g网络什么时候淘汰_5G时代来临后,4G真的会被淘汰吗,简单说一下
  20. 有n只蚂蚁在一根木棍上,蚂蚁们只知道距左端的距离,棍子的长度,但不知道他们的朝向,蚂蚁们走到端点的时候会落下木棍,求所有蚂蚁们走过的最短和最长路程。

热门文章

  1. 19级爪哇程序设计新手赛(题解)
  2. oracle-ORA-22922: 不存在的 LOB 值
  3. 分析 crash 报告的方法
  4. YC全球总裁:我招揽陆奇好多年,如今终于如愿了!
  5. TU-ctf-2016 pwn woO 分析记录
  6. matlab化学程序,Matlab在化学的应用
  7. JVM#Java高墙之GC与内存分配策略
  8. 哪怕荆棘满路,我们仍无畏前行
  9. jdk动态代理,cglib代理
  10. python 牛客网试题(套一)