STM32实现二维码放大函数

假如二维码库函数已经调通了,只差显示数组里面的内容了,更巧的是也是你的用的STM32,Let’s go…

/***************************************************
* 函数名称: DrawQRcode(int x0 ,int y0 ,int RectPiex ,char (*pEncode)[MAX_MODULESIZE])
* 输入参数: --x0,y0 QR现实的开始位置 
* 输出参数: --RectPiex矩形的像素RectPiex*RectPiex
* 功    能: --*pEncode)[MAX_MODULESIZE] 指向二维数组的指针
* 作    者:2018-5-3, by ******
****************************************************/
void DrawQRcode(int x0 ,int y0 ,int RectPiex ,char (*pEncode)[MAX_MODULESIZE])
{
 unsigned char cPiex;
 
 //GUI_GotoXY(x0,y0);
 //GUI_clear();
 for(int i = 0; i < MAX_MODULESIZE; i++)
 {
   for(int j = 0; j < MAX_MODULESIZE; j++)
   {
     cPiex = *(*(pEncode + i) + j);
     if(cPiex == 0)
     {
       //TODO 白色矩形
       GUI_SetColor(GUI_WHITE);  //GUI_RED  GUI_WHITE  GUI_YELLOW  GUI_BLUE
       GUI_FillRect(x0+j*RectPiex, y0+i*RectPiex, x0+(j+1)*RectPiex, y0+(i+1)*RectPiex);
     }
     else if(cPiex == 1)
     {
       //TODO 黑色矩形
       GUI_SetColor(GUI_BLACK); 
       GUI_FillRect(x0+j*RectPiex, y0+i*RectPiex, x0+(j+1)*RectPiex, y0+(i+1)*RectPiex);
     }
   }
 }
// GUI_SetColor(GUI_RED); 
// GUI_FillRect(300, 420, 320, 440);
};

调用这个函数就好了,效果图如下,其实是动态的哟….

动态显示二维码请参考我的这篇文章:动态二维码显示


444 Comments

Add a Comment

电子邮件地址不会被公开。