c生成带logo的二维码
❶ 二维码生成原理c语言原理
雅虎上搜索出来的一篇文章,希望对你有帮助。没有具体原理,你可以把库下下来专研究,或者自己再搜索属一下。地址:http://www.codeproject.com/Articles/593591/Simple-C-Cplusplus-QRCode-Library
❷ 谁有C语言或C++编写的二维码解码软件的源程序
1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读取。通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。
2、例程:
<pre name="code" class="cpp">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=0;i<(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;
}
因为stmf429运行起来后内存不够,这里不用申请内存再扩充放大二维码数据的方法,而是直接描点。所以这里注释掉了放大部分
e) 紧接着调用Disp_FixelPic根据qrcode进行描点
</pre><pre name="code" class="cpp"><pre name="code" class="cpp">void Disp_FixelPic(int iPenX,int iPenY,PT_PixelDatas ptPixelDatas)
{
int i=0,j=0;
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_SetPenSize(1);
for(i=0;i<ptPixelDatas->iHeight;i++)
{
for(j=0;j<ptPixelDatas->iWidth;j++)
{
if(ptPixelDatas->aucPixelDatas[i*ptPixelDatas->iHeight+j]&0x01)
{
//lcd_pixel_show(j+iPenX, i+iPenY,0x00);
GUI_SetColor(GUI_BLACK);
GUI_FillRect(j*8+iPenX, i*8+iPenY,j*8+8+iPenX, i*8+8+iPenY);
}
else
{
GUI_SetColor(GUI_WHITE);
//lcd_pixel_show(j+iPenX, i+iPenY, 0xffffff);
//GUI_DrawPoint(j*8+iPenX, i*8+iPenY);
GUI_FillRect(j*8+iPenX, i*8+iPenY,j*8+8+iPenX, i*8+8+iPenY);
}
}
}
}
这里注释掉了原lcd描点函数,而是采用了stemwin提供的矩形填充函数
f) 编译运行,能看到LCD显示出二维码。至此移植完毕
void Disp_FixelPic(int iPenX,intiPenY,PT_PixelDatas ptPixelDatas)
{
int i=0,j=0;
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_SetPenSize(1);
for(i=0;i<ptPixelDatas->iHeight;i++)
{
for(j=0;j<ptPixelDatas->iWidth;j++)
{
if(ptPixelDatas->aucPixelDatas[i*ptPixelDatas->iHeight+j]&0x01)
{
//lcd_pixel_show(j+iPenX,i+iPenY,0x00);
GUI_SetColor(GUI_BLACK);
GUI_FillRect(j*8+iPenX, i*8+iPenY,j*8+8+iPenX, i*8+8+iPenY);
}
else
{
GUI_SetColor(GUI_WHITE);
//lcd_pixel_show(j+iPenX,i+iPenY, 0xffffff);
//GUI_DrawPoint(j*8+iPenX, i*8+iPenY);
GUI_FillRect(j*8+iPenX, i*8+iPenY,j*8+8+iPenX, i*8+8+iPenY);
}
}
}
}
❸ 为什么我买了一款香奈儿香水没有双c标志呢是我朋友最近去香港带回来的980元,而且二维码也扫不到
有图吗?980元哦,港币吗?我在香港买过5号100ml,也不到900元rmb啊。二维码不能说明绝对证明什么问题。
❹ 求二维码的生成算法 C语言
二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部内分污损的二维容码可以被正常读取]
通常的做法是调用二维码设计方提供的组件,像你这个准备自己生成二维码,应该可以生成可以看起来很像的东西。
但是估计其余的读码工具都读取不出来。
❺ 如何用C代码生成二维码
自己用C/C++生成二维码是比较复杂的。
如果实在需要,也有时间,不妨看看内开源的 ZXing 里面有生成二维码的容算法
其中有C/C++的移植
如果是商业需要,而又没有时间去研究,不妨采购商用的二维码生成SDK
网络一下有很多。
❻ 二维码生成程序C语言源代码
1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量专[使得部分污损的属二维码可以被正常读龋通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。