关于Zint在Linux的下生产BMP使用方法说明(Linux下条形码,二维码库)

                                                   Zint的使用

     最近在做linux下的条形码和二维码的实验,苦苦寻觅终于找到了Zint库。

    当前所知的情报

             Zint版本使用说明:zint-2.8.0

             Linux版本:Ubuntu1204

        参考链接

                   Zint讲的很详细

                  Zint生成二维码及png操作

       自己的总结

        安装Cmake

               前提:需要安装Cmake

                 Cmake安装命令

apt-get install cmake

        Zint的安装

   

 

安装流程指令

//1.进入Zint
root@gzsd-virtual-machine:~/桌面# cd zint-2.8.0
//2.创建build
root@gzsd-virtual-machine:~/桌面/zint-2.8.0# mkdir build
//3.进入build
root@gzsd-virtual-machine:~/桌面/zint-2.8.0# cd build
//4.Cmake ..
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# cmake ..
//5.编译
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# make
//6.安装
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# make install






测试Demo

#include <stdio.h>

#include "zint.h"
#include <iostream>
#include <cstring>

using namespace std;

int Test_scale();
int EncodingAndSavingToFile();


int CreateAndDeleteSymbol();

int main(int argc, char *argv[]) {
    Test_scale();
      //CreateAndDeleteSymbol();
    //EncodingAndSavingToFile();
}


int CreateAndDeleteSymbol()
{
    struct zint_symbol *my_symbol;
    my_symbol = ZBarcode_Create();
    if (my_symbol != NULL)
    {
        printf("Symbol successfully created!\n");
    }
    ZBarcode_Delete(my_symbol);
    return 0;
}


int Test_scale()
{
    struct zint_symbol *my_symbol;
    my_symbol = ZBarcode_Create();

    my_symbol->symbology = BARCODE_QRCODE;
    my_symbol->scale = 10;

    strcpy(my_symbol->outfile, "Test_scale.bmp");

    string encode_data("Test_scale");
    int error_num = ZBarcode_Encode(my_symbol, (unsigned char*)encode_data.c_str(), 0);

    error_num = ZBarcode_Print(my_symbol, 0);

    ZBarcode_Delete(my_symbol);
    return 0;
}


int EncodingAndSavingToFile()
{
    struct zint_symbol *my_symbol;
    my_symbol = ZBarcode_Create();

    // Set output file name
    strcpy(my_symbol->outfile, "output.bmp");

    // Set encode data
    string encode_data("hello world");
    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;
}

 编译命令

前提:共享库设置

echo "/usr/local/lib" >> /etc/ld.so.conf 
/sbin/ldconfig

编译

g++ -o demo demo.cpp -lzint

生产的二维码和条形码

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值