关于qrencode的使用

来源:互联网 发布:怎么做淘宝宝贝详情页 编辑:程序博客网 时间:2024/05/19 23:12

关于移植

conf.sh

#!/bin/sh
  ./configure \
      --host=arm-sunnorth-linux-gnueabi \
      --target=arm-sunnorth-linux-gnueabi \
      --disable-shared --enable-static    \
      --prefix=$PWD/out/ --with-tools=no


其中--with-tools=no为不使用 libpng


#include <stdio.h>#include <stdlib.h>#include <string.h>#include "qrencode.h"int  CreatQRCodeByStr(char * str,int times){int ret = 0;int *bitmap = NULL;QRcode * qrcode = NULL;qrcode = QRcode_encodeString(str, 0, QR_ECLEVEL_M ,QR_MODE_8,1);if(qrcode == NULL){printf("call QRcode_encodeString error Ret = %d\n",ret);ret = 0;goto EXIT;}int tempiWidth = qrcode->width*times;int tempiHeight = qrcode->width*times;int sizebitmap = qrcode->width * qrcode->width * times * times *4;bitmap = malloc(sizebitmap);memset(bitmap,0,sizebitmap);int i,j;for(i=0;i<qrcode->width;i++){for(j=0;j<qrcode->width;j++){int colour = 0;if(qrcode->data[i*qrcode->width+j]&0x01){colour = 0xff000000;}else{colour = 0xffffffff;}int loopi = 0;for(loopi = 0;loopi < times;loopi++){int loopj = 0;for(loopj = 0;loopj < times;loopj++){bitmap[(i*times + loopi)*qrcode->width*times + j*times + loopj] = colour;}}}}for(i=0;i<qrcode->width*times;i++){for(j=0;j<qrcode->width*times;j++){if(bitmap[i*qrcode->width*times+j] == 0xffffffff){printf("#");}else{printf(" ");}}printf("\n");}printf("\n");EXIT:if(qrcode){QRcode_free(qrcode);qrcode = NULL;}if(bitmap){free(bitmap);bitmap = NULL;}return ret;}int main(){CreatQRCodeByStr("http://t.tt",3);}

0 0
原创粉丝点击