liuyu60305002的专栏

1. zint库,可以先下载源码,编译出来。编译过程需要用到 libpng库。

2. 使用起来比较简单,导入头和库文件即可。

3. 在生成QR二维码时,,手册上没有描述具体信息。下面给出一段生成二维码的代码。

BOOL CSystemInfo::GenerateBarcode(const char *szText,int len,const char *szOutPath){struct zint_symbol *symbol;int ret = 0;if (!szText){DbgPrint(("GenerateBarCode invalid parameter"));return FALSE;}TRY{symbol = ZBarcode_Create();if (symbol != NULL){symbol->scale = 4;symbol->option_1 = 1; //容错级别symbol->option_2 = 1; //版本,决定图片大小symbol->symbology = BARCODE_QRCODE;symbol->output_options = 0;symbol->show_hrt = 0; //可显示信息,如果设置为1,则需要设置text值symbol->input_mode = UNICODE_MODE;if (szOutPath)memcpy(symbol->outfile,szOutPath,sizeof(symbol->outfile) – 1); //输出文件名ret = ZBarcode_Encode(symbol,(unsigned char *)szText,len); //编码if (ret != 0){DbgPrint(("ZBarcode_Encode err: %s",symbol->errtxt));ZBarcode_Delete(symbol);return FALSE;}ret = ZBarcode_Print(symbol,0); //antate angle 旋转角度if (ret > WARN_INVALID_OPTION){DbgPrint(("ZBarcode_Print ret: %d,err: %s",ret,symbol->errtxt));}ZBarcode_Delete(symbol);return TRUE;}else{DbgPrint(("ZBarcode_Create err: %s",symbol->errtxt));return FALSE;}}CATCH(CException,e){char szErr[256] = {0};e->GetErrorMessage(szErr,255);DbgPrint(("GenerateBarcode exception: %s",szErr));return FALSE;}END_CATCH}

注:

二维码的设置需要如下几个参数:

scale 放大倍数

option_1 依赖于symbology,不同编码有不同意义

option_2 依赖于symbology,不同编码有不同意义

symbology 编码类型,在手册上有描述,如二维码是58

output_options 有无边框之类的控制

show_hrt 在图片上显示可读信息,如果设置为

text 图片上显示的文字信息,配合show_hrt使用。

input_mode 决定编码格式,二进制流,还是

源码:

她是应该难过的往回走,还是蹲下来哭泣?

liuyu60305002的专栏

相关文章:

你感兴趣的文章:

标签云: