libqr--简单好用的c++二维码生成库
来源:互联网 发布:手机淘宝如何打造爆款 编辑:程序博客网 时间:2024/06/07 06:46
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-16 qr_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;}
简单粗暴几行就搞定了,相比起其他晦涩难懂并且还要加上图片库配套使用的二维码生成库来说真是太方便了。
1 1
- libqr--简单好用的c++二维码生成库
- Visual Studio中使用开源二维码QR库libqr
- Visual Studio中使用开源二维码QR库libqr
- 生成简单的二维码
- 生成简单的二维码
- 二维码生成 简单的
- 简单的二维码生成
- 生成二维码的简单示例
- 简单生成二维码的Demo
- 简单生成二维码的Demo
- 最简单的用zxing生成二维码的Demo
- 一个简单的Android生成二维码Demo。
- Android生成二维码的简单实例
- 生成二维码天下最简单的方法
- 超简单的python生成二维码图片
- android最简单的生成二维码demo
- java生成最简单的二维码
- 一个简单的二维码生成小程序
- 虚拟机打包重新部署全过程详细说明
- mysql存储过程初级
- 热度TopN排名算法的设计
- JSP中<base href="<%=basePath%>">作用
- gitconfig中磨刀不误砍柴工的小配置
- libqr--简单好用的c++二维码生成库
- C语言实现md5函数代码
- ZooKeeper实战应用之【统一配置管理】
- Android——自定义View loading效果
- 中国“互联网+”案例100征集活动正式启动
- android开发轻量级数据库SQLite
- LeetCode Implement strStr(kmp或者BM)
- UI基础之--UILabel
- solr