使用Zint库生成一维码/条形码

简介: 使用Zint库生成一维码/条形码

下面代码是是使用 Zint 库生成 Code 128 类型的条形码,并将生成的条形码保存为 output.bmp 文件。下面是对代码的详细解释:

  1. #include 和 #include <zint.h>:这两行代码包含了所需的头文件,分别是标准输入输出流的头文件和 Zint 库的头文件。
  2. *struct zint_symbol my_symbol;:声明一个指向 zint_symbol 结构体的指针 my_symbol,用于存储条形码的信息。
  3. my_symbol = ZBarcode_Create();:调用 ZBarcode_Create() 函数来创建一个条形码符号对象,并将其地址赋给 my_symbol 指针。
  4. my_symbol->symbology = BARCODE_CODE128;:设置条形码的类型为 Code 128。
  5. strcpy(my_symbol->outfile, “output.bmp”);:使用 strcpy 函数将输出文件名设置为 “output.bmp”,这里假设生成的条形码图像将保存为 output.bmp 文件。
  6. std::string encode_data = “88888888”;:定义一个字符串变量 encode_data,存储要编码的数据,这里是 “88888888”。
  7. ZBarcode_Encode(my_symbol, (unsigned char)encode_data.c_str(), 0);*:调用 ZBarcode_Encode 函数将编码数据添加到条形码对象中。
  8. int error_num = ZBarcode_Print(my_symbol, 0);:调用 ZBarcode_Print 函数来生成条形码图像。如果生成过程中出现错误,将返回一个非零的错误码,否则返回 0。
  9. if (error_num != 0) { printf(“%s\n”, my_symbol->errtxt); }:如果生成条形码时出现错误,打印出错信息。
  10. ZBarcode_Delete(my_symbol);:释放 my_symbol 指针指向的内存,清理资源。
#include <iostream>
#include <zint.h>
int main() {
    struct zint_symbol *my_symbol;
    my_symbol = ZBarcode_Create();
    my_symbol->symbology = BARCODE_CODE128;
    strcpy(my_symbol->outfile, "output.bmp"); // 使用strcpy函数进行字符串复制
    std::string encode_data = "88888888"; // 添加缺失的分号
    ZBarcode_Encode(my_symbol, (unsigned char*)encode_data.c_str(), 0);
    int error_num = ZBarcode_Print(my_symbol, 0);
    if (error_num != 0) {
        /* some error occurred */
        printf("%s\n", my_symbol->errtxt);
    }
    ZBarcode_Delete(my_symbol);
    return 0;
}


zint库链接

相关文章
|
7月前
|
存储 编解码 Python
Python GDAL基于经、纬度提取大量遥感影像中相同位置处像元的数值
【2月更文挑战第8天】本文介绍基于Python语言中的gdal模块,对2景不同的遥感影像加以对应位置像素值匹配的方法——即基于一景遥感影像的每一个像元,提取另一景遥感影像中,与之空间位置相同的像元的像素值的方法~
216 1
Python GDAL基于经、纬度提取大量遥感影像中相同位置处像元的数值
|
数据库
导出矢量条码二维码的方法
码在设计印刷行业,经常使用导入到Coreldraw或Illustrator等矢量环境排版使用。矢量条码最大的优点是无论你将它放大、缩小或旋转等它都有一样平滑的边缘, 一样的清晰度,不会失真。
125 1
|
算法 Windows
m基于EAN13字符编码规则的一维条形码条码宽度计算和数字译码matlab仿真
m基于EAN13字符编码规则的一维条形码条码宽度计算和数字译码matlab仿真
152 0
Leetcode_Python 304 二维区域和检索 - 矩阵不可变
说明 采用这种方法虽然简短,但是比较耗时,可以借鉴官方的方法。
71 0
Leetcode_Python 304 二维区域和检索 - 矩阵不可变
|
网络安全 定位技术 Python
Python 提取图片中的GPS信息
JPG图片中默认存在敏感数据,例如位置,相机类型等,可以使用Python脚本提取出来,加以利用,自己手动拍摄一张照片,然后就能解析出这些敏感数据了,对于渗透测试信息搜索有一定帮助,但有些相机默认会抹除这些参数。
239 0
|
计算机视觉 Python
实现人脸截图保存并编写128维特征向量
## 前情提要 通过[上一篇](https://developer.aliyun.com/article/868130?spm=a2c6h.26396819.0.0.6e513e18zineFN)我们就可以对图片中的人脸进行识别,这篇文章就来教大家怎么对人脸部分进行截取保存。并且将图片中的每张人脸编码成一个128维长度的向量,通过这个后续能在人脸之间进行比对。
625 0
|
文字识别 开发工具 iOS开发
iOS扫描证件&银行卡信息识别;身份证识别 (正反) ;矩形边缘识别 ;自定义证件相机 (含demo源码)【修订版】
iOS扫描证件&银行卡信息识别;身份证识别 (正反) ;矩形边缘识别 ;自定义证件相机 (含demo源码)【修订版】
778 0
iOS扫描证件&银行卡信息识别;身份证识别 (正反) ;矩形边缘识别 ;自定义证件相机 (含demo源码)【修订版】
|
数据库
可变数据印刷软件之可变彩色条形码实例
可变数据印刷又被称之为:可变数据印刷、可变信息印刷、个性化印刷、定制印刷,就是在每个印刷品上印刷各不相同的内容,包括文字、图片、条形码等。条形码外观有普通黑白的也有彩色条形码,彩色条形码又称彩虹码。在中琅可变数据印刷软件中可变彩色条形码有两种方式,可变彩色条形码数据和可变条形码颜色。
1776 0
|
数据库
可变数据印刷工具之可变彩色二维码实例
现如今,二维码在各行各业的应用越来越广泛和便捷,二维码支付,彩色二维码防伪等等。通过可变二维码,一物一码,为物品建立独特的“身份证”。那么,在中琅可变数据印刷工具中是如何制作可变彩色二维码呢? 可变彩色二维码有两种,二维码内容可变和彩色二维码颜色可变。
1971 0