如何用C语言实现显示二维码

Python028

如何用C语言实现显示二维码,第1张

int Fb_QrDisp(int iPenX,int iPenY,QRcode*pQRcode)  

{  

         T_PixelDatasg_tOriginPixelDatas  

         T_PixelDatasg_tZoomPixelDatas  

         //intiZoom  

         inti  

           

         g_tOriginPixelDatas.iWidth= pQRcode->width  

         g_tOriginPixelDatas.iHeight=pQRcode->width  

         g_tOriginPixelDatas.iLineBytes=g_tOriginPixelDatas.iWidth  

         g_tOriginPixelDatas.aucPixelDatas= pQRcode->data  

/*  

   if(pQRcode->version <= 1)  

    {  

                   iZoom= 2  

    }  

         else  

         {  

                   iZoom= 2  

   

         }  

   g_tZoomPixelDatas.iWidth = pQRcode->width*iZoom  

         g_tZoomPixelDatas.iHeight=pQRcode->width*iZoom  

         g_tZoomPixelDatas.iLineBytes=g_tZoomPixelDatas.iWidth  

         g_tZoomPixelDatas.aucPixelDatas= malloc(g_tZoomPixelDatas.iWidth*\  

                                                         g_tZoomPixelDatas.iHeight)  

   

         if(g_tZoomPixelDatas.aucPixelDatas== NULL)  

         {  

                   printf("g_tZoomPixelDatas->aucPixelDatasmalloc failed\n")  

                   return-1  

         }  

   

         PicZoom(&g_tOriginPixelDatas,&g_tZoomPixelDatas)  

#if 0  

         printf("g_tZoomPixelDatas.iWidth=%d,g_tZoomPixelDatas.iHeight=%d\n",\  

               g_tZoomPixelDatas.iWidth,g_tZoomPixelDatas.iHeight)  

   

   

for(i=0i<(g_tZoomPixelDatas.iWidth*g_tZoomPixelDatas.iHeight)i++)  

{  

         printf("0x%x,",g_tZoomPixelDatas.aucPixelDatas[i])  

}  

printf("\n")  

   

#endif  

*/  

         Disp_FixelPic(iPenX,iPenY,&g_tZoomPixelDatas)  

return 0    

}

需要使用Qrcode

这是要识别桌面上的二维码还是通过摄像头识别二维码

如果是桌面上的

linux C语言去做这个识别二维码,这个貌似难度有太大。而且很难找到资料的。

有时候要知道变通,你为什么不用java的jar库去做识别呢,而且很多的现成资料可以查看,

如果你非得用C去做,那么建议你查询一下libqrencode 这个用C写的库

二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读取]

通常的做法是调用二维码设计方提供的组件,像你这个准备自己生成二维码,应该可以生成可以看起来很像的东西。

但是估计其余的读码工具都读取不出来。