精华内容
下载资源
问答
  • 二维码生成,可以用于嵌入式相关设备开发(内部包含一套二维码生成代码+BMP文件生成代码),采用C语言,属于半原创吧[大部分代码是百度获取,作者不详,本人结合相关接口实现自己所需要的功能],采用VS2010工程,生成...
  • 单片机生成二维码 C语言代码

    万次阅读 2016-07-12 18:39:38
     单片机生成二维码的源码,C语言编写,封装成函数,简单易用。本程序需要的硬件资源少,有2K左右的RAM,4K左右ROM就可以了。具体需求资源视实际二维码携带的信息量有关,还有就是二维码的纠错级别有关。  你就...

         随着二维码支付的普及,现在对设备端生成二维码的要求越来越多,前些时间做了一些项目,刚好是要在单片机接12864LCD屏生成二维码。

         单片机生成二维码的源码,C语言编写,封装成函数,简单易用。本程序需要的硬件资源少,有2K左右的RAM,4K左右ROM就可以了。具体需求资源视实际二维码携带的信息量有关,还有就是二维码的纠错级别有关。

        你就可以不需要去了解二维码复杂的协议,直接调用一个函数,就实现生成二维码。可以在各种LCD上显示,例如常见的12864还有高级一点的彩色屏。

        本源码已在多个量产产品中应用,稳定可靠。非常方便的移值到不同平台,不同单片机上运行。

      使用本源码有如下要求:

        1,有单片机基础和C语言基础,

        2,了解自已板子的LCD显示函数原理(因为在显示输出函数要根据自已的硬件移值一下) 

     

     

    展开全文
  • 本文主要是实现一种单色位图的二维码的生成,前期需要自己移植二维码的库,下面就是具体的生成代码,主要流程就是将二维码库函数生成的数据放到自己已经构建好的单色位图中 void MakeQrencode(const char *QRTEXT...

      硬件环境: Arm      移植过二维码的库qrencode

       本文主要是实现一种单色位图的二维码的生成,前期需要自己移植二维码的库,下面就是具体的生成代码,主要流程就是将二维码库函数生成的数据放到自己已经构建好的单色位图中

    void MakeQrencode(const char *QRTEXT)
     { 	  
    	 QRcode * qrCode;
    	 int version = 10;				    //设置版本号,这里设为10,对应尺寸:57*57
    	 QRecLevel level = QR_ECLEVEL_H;	//纠错码为高(当二维码有点破损时也能扫的出来)
    	 QRencodeMode hint = QR_MODE_8;  	//数据编码形式 -> 字节编码
    	 int casesensitive = 1;
    	 int count;
    	 char buff[20];
    	 qrCode = QRcode_encodeString("hello world", version, level, hint, casesensitive);	//调用库函数生成二维码
    	 if (NULL == qrCode)
    	 {
    		 printf("QRcode create fail\n");
    	 }
    	 
    	 snprintf(buff,20,"%s",QR_CODE_FILE);	//即将生成的二维码图片  #define QR_CODE_FILE   "./qrcode.bmp"  
    
    	 FILE * pf = fopen(buff, "w+");	//创建图片
    	 if (NULL == pf)
    	 {
    		 printf("file open fail.\n");
    		 fclose(pf);
    	 }
    	 
    	 int width = qrCode->width;
    	 int height = qrCode->width;
    	 int biCount = 1;	//单色位图
    		
    	 int iexwidth = width;
    	 if(width % 8){
    		 iexwidth += 8;
    	 }
    	 
    	 iexwidth /= 8;
    	 
    	 int lineByte = (iexwidth + 3) & ~0x03;	//计算每行的字节数,必须是4的倍数
    
    	 //位图文件头
    	 BITMAPFILEHEADER bitMapFileHeader;
    	 bitMapFileHeader.bfType = 0x4D42;	//图片类型
    	 bitMapFileHeader.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 2*sizeof(RGBQUAD) + lineByte * height;	//图片大小  单位:byte
    	 bitMapFileHeader.bfReserved1 = 0;	 
    	 bitMapFileHeader.bfReserved2 = 0;	
    	 bitMapFileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 2*sizeof(RGBQUAD);	//距离颜色数据指针的偏移量
    
    	 //位图信息头
    	 BITMAPINFOHEADER bitMapInfoHeader;
    	 bitMapInfoHeader.biSize = 40;          //位图信息头大小
    	 bitMapInfoHeader.biWidth = width;      //图片宽度	 单色位图一个像素一位
    	 bitMapInfoHeader.biHeight = height;    //图片高度
    	 bitMapInfoHeader.biPlanes = 1;			
    	 bitMapInfoHeader.biBitCount = biCount;	//图片深度
    	 bitMapInfoHeader.biCompression = 0;	
    	 bitMapInfoHeader.biSizeImage = lineByte * height;	//图片颜色数据大小
    	 bitMapInfoHeader.biXPelsPerMeter = 0;	
    	 bitMapInfoHeader.biYPelsPerMeter = 0;	 
    	 bitMapInfoHeader.biClrUsed = 0;		
    	 bitMapInfoHeader.biClrImportant = 0;	
    	
    	 
    	//颜色表		单色位图两个调色板
    	 RGBQUAD bitMapRGBQuad1,bitMapRGBQuad2 ;	
    	 bitMapRGBQuad2.rgbBlue = 0xff;
    	 bitMapRGBQuad2.rgbGreen = 0xff;
    	 bitMapRGBQuad2.rgbRed = 0xff;
    	 bitMapRGBQuad2.rgbReserved = 0;
    
    	 memset(&bitMapRGBQuad1,0,sizeof(bitMapRGBQuad2));
    	 
    	 //写文件头进文件
    	 fwrite(&bitMapFileHeader, sizeof(BITMAPFILEHEADER), 1, pf);
    	 //写位图信息头进文件
    	 fwrite(&bitMapInfoHeader, sizeof(BITMAPINFOHEADER), 1, pf);
    	 //写颜色表进文件
    	 fwrite(&bitMapRGBQuad1, sizeof(RGBQUAD), 1, pf);
    	 fwrite(&bitMapRGBQuad2, sizeof(RGBQUAD), 1, pf);
    
    	 unsigned char * pBMPData = (unsigned char *)malloc(lineByte * height);	//生成颜色数据的指针
    
    	 memset(pBMPData, 0, lineByte * height);	//首先数据全部清0,就是纯黑
    
    	 unsigned char * qrData = qrCode->data;
    	 int ibit;
    	 int ibyte;
    	 int i,j;
    	 int k = 0;
    	 
    	 for (i=0; i < height; i++){
    		 for( j = 0; j < width; j++){
    			ibit = j % 8;
    			ibyte = j / 8;
    		 
    			if((*(qrData) & 1) == 0 ){		//二维码数据是字节格式,最后一位是颜色值,当最后一位为0,就是白色		 
    			    *(pBMPData + lineByte * i + ibyte)  |= ((unsigned char)(0x80 >> ibit));	//颜色指针对应位置1  普通图 0是黑 1是白
    			}
    			qrData++;
    		 }	 
    	 }
    	
    	 //写数据进文件
    	 count = fwrite(pBMPData, sizeof(unsigned char), lineByte * height, pf);
    	 fclose(pf);
    	 
    	 free(pBMPData);
    	 pBMPData = NULL;
    	 printf("write_info:%s,count=%d,lineByte=%d,lineByte * height=%d,height=%d,width=%d\n",QRTEXT,count,lineByte,lineByte * height,height,width);
    	 QRcode_free(qrCode);
     }

     

      生成的二维码图片:

                           

     

    展开全文
  • 事实上,我们是用每一个 元素表示一个32位的二进制字符串,这样这个元素可以保留相邻32个号码是否存在的信息,数组范围就下降到10000000/32了.例如对于号码 89256,由于89256 mod 32=2789…8,这样我们应该置a[2789]中32...

    事实上,我们是用每一个 元素表示一个32位的二进制字符串,这样这个元素可以保留相邻32个号码是否存在的信息,数组范围就下降到10000000/32了.例如对于号码 89256,由于89256 mod 32=2789…8,这样我们应该置a[2789]中32位字符串的第8位(从低位数起)为1.

    #define WORD 32

    #define SHIFT 5 移动5个位,左移则相当于乘以32,右移相当于除以32取整

    #define MASK 0x1F //16进制下的31

    #define N 10000000

    int bitmap[1 + N / WORD];

    /*

    * 置位函数——用"|"操作符,i&MASK相当于mod操作

    * m mod n 运算,当n = 2的X次幂的时候,m mod n = m&(n-1)

    */

    void set(int i) {

    bitmap[i >> SHIFT] |= (1 << (i & MASK));

    }

    /* 清除位操作,用&~操作符 */

    void clear(int i) {

    bitmap[i >> SHIFT] &= ~(1 << (i & MASK));

    }

    /* 测试位操作用&操作符 */

    int test(int i) {

    return bitmap[i >> SHIFT] & (1 << (i & MASK));

    }

    实现排序(不能重复):

    int main(void) {

    FILE *in = fopen("in.txt", "r");

    FILE *out = fopen("out.txt", "w");

    if (in == NULL || out == NULL) {

    exit(-1);

    }

    int i = 0;

    int m;

    for (i = 0; i < N; i++) {

    clear(i);

    }

    while (!feof(in)) {

    fscanf(in, "%d", &m);

    printf("%d/n", m);

    set(m);

    }

    printf("abnother");

    for (i = 0; i < N; i++) {

    if (test(i)) {

    printf("%d/n", i);

    fprintf(out, "%d/n", i);

    }

    }

    fclose(in);

    fclose(out);

    return EXIT_SUCCESS;

    }

    展开全文
  • C语言使用QRcode生成二维码

    千次阅读 2019-05-31 14:18:37
    C语言使用QRcode生成二维码的简单操作 首先需要QRcode源码包 可以参考这位大神的文章: https://blog.csdn.net/qq_21475601/article/details/71480028 下面是我的代码生成的话 只需要源码的三个文件 分别...

    C语言使用QRcode生成二维码的简单操作

    首先需要QRcode源码包

    可以参考这位大神的文章:

    https://blog.csdn.net/qq_21475601/article/details/71480028

    下面是我的代码:

    生成的话 只需要源码的三个文件 分别是 data_type.h,QR_Encode.c,QR_Encode.h 

    int main(void){
        
        EncodeData("aaa");
        int i,j;
        for(i=0;i<MAX_MODULESIZE;i++){
            for(j=0;j<MAX_MODULESIZE;j++){
                if(m_byModuleData[i][j] == 1)
                 printf("卍");
                else
                printf(" ");
            }
            printf("\n");
        }

        return 0;
    }


    效果图:

     

     

    仅供参考!

     

    展开全文
  • 其实代码并不多,完全是GUI调用qrencode的命令: qrencode -l L -v 1 -s 11 -o output.png 原理不过就是调用system函数而已。下面是具体的参数拼装: char *text = gtk_entry_get_text (g_entry); char *cmd = ...
  • 近期为了研究C语言生成二维码,实现了一个简单的工具,在windows的控制台显示二维码,效果如下: 生成二维码代码是从网上找的; 控制台显示二维码的主要原理是改变控制台的字符背景颜色来实现。 黑块是默认...
  • VC 二维码生成Demo

    2018-05-03 10:02:09
    VS2008 编译下通过,采用C语言代码方式加入工程。程序执行完毕生成一个二维码的图片
  • C/C++ 解编译执行过程C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行「编译和链接」。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接...
  • 二维码生成delphi版

    2014-08-19 22:41:00
    二维码生成delphi版 生成二维码的软件,代码C语言转换过来(源地址:http://fukuchi.org/works/qrencode/),断断续续的差不多花了一周时间来转换和调试。在转换过程中学到了不少东西,特别是对于delphi和C语言中...
  • ios 自带的二维码生成

    2015-04-28 20:39:00
    1.二维码生成 libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QRCode)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码。 导入libqrencode库,下面直接代码: [objc]view plaincopy ...
  • 利用C语言实现二维码显示

    千次阅读 2018-03-08 14:02:52
    致谢:CSDN Blog:http://blog.csdn.net/qq_21475601---泡在妞里的Feel. 11/03/2017在上一个作者的基础上添加自己的理解和...其他文件的代码也是用来生成二维码的,直接调用"第二种显示方法"文件夹中的函数即...
  • Linux中Qt利用QRencode实现二维码生成

    千次阅读 2018-04-04 16:44:10
    Linux环境下QT中实现二维码生成有两种方法,这两种方法都需要用到开源的代码--qrencode。第一种方法是下载qrencode源码后,将其移植到目标板子上,然后在程序中包含其路径进行使用;第二种方法是将qrencode源码添加...
  • libqr--简单好用的c++二维码生成

    万次阅读 热门讨论 2016-07-27 18:17:07
    libqr简介libqr是github上开源的二维码生成库,地址:https://github.com/rsky/qrcode。使用c语言写成,但是用在c++代码里面毫无违和感,api简单好用,自带输出bitmap(未验证)和png格式图片的二维码,不过有一点,...
  • 51系列单片机生成二维码 keil环境,12864打点程序附赠,有清楚的使用方法,以及注释,都是通俗易懂的代码~
  • 51系列单片机生成二维码 keil环境,12864打点程序附赠,有清楚的使用方法,以及注释,都是通俗易懂的代码~
  • QT中实现二维码图片生成

    千次阅读 2018-12-26 10:59:11
    Linux环境下QT中实现二维码生成有两种方法,这两种方法都需要用到开源的代码--qrencode。第一种方法是下载qrencode源码后,将其移植到目标板子上,然后在程序中包含其路径进行使用;第二种方法是将qrencode源码添加...
  • 1.二维码生成libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QRCode)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码。导入libqrencode库,下面直接代码:[objc] view plaincopy#import < ....
  • 生成和扫描二维码

    2015-05-27 18:54:02
    网上关于生成二维码代码有很多,我用过一个最常用的QREncode。不过当它生成一个特别长的字符串的图片时总是失败,所以就放弃了。后来就用了一个c语言写的,名字叫libqrencode,非常简单,不需要导入.a或.frame库,...
  • 一个简单的库,用于生成C语言中的,针对处理和内存受限的系统进行了优化。 特征: 基于堆栈的(不需要堆;但是您可以根据需要使用堆) 低内存占用空间(相对) 不必要的逻辑和常量的编译时剥离 MIT许可证; 随便...
  • 51单片机生成二维码

    千次阅读 热门讨论 2019-04-14 10:36:53
    1.下载QRCode生成的驱动源代码,这个驱动是c语言编写的可以移植到各种c语言写的工程上去,下面附上下载链接: https://download.csdn.net/download/baidu_39491365/11109832 下载好了后,里面有一个QR Code源码库...
  • 1.二维码生成 libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QRCode)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码。http://pan.baidu.com/s/1eQs1Epk 导入libqrencode库,下面直接...
  • 这篇文章本来是存在有道云中的...第二部分为decode后链接生成二维码的方式。 1.linux的libcurl库的介绍和使用: 这部分甩几个链接https://curl.haxx.se/libcurl/ libcurl库详细介绍 https://blog.csdn.net/myvest/...
  • 移植了二维码生成C语言库到自己的项目。然后调用接口生成二维码数据。 最后显示到自己的LCD上面。   如果不知道库的可以查看博客:https://blog.csdn.net/qq_21475601/article/details/71480028#commentsedit ...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

c语言二维码生成代码

c语言 订阅