标题: 单片机GUI实心圆 空心圆库函数 自主编写 [打印本页]

作者: 且听风吟1110    时间: 2019-6-7 19:28
标题: 单片机GUI实心圆 空心圆库函数 自主编写
单片机gui程序,自主编写
  1.   /****************************************************************************
  2. * Function Name  : GUI_recle
  3. * Description    : 画实心圆
  4. * Input          : 圆心(x,y,颜色,半径)                 
  5. * Output         : None
  6. * Return         : None
  7. ****************************************************************************/
  8. void GUI_recle(uint16_t x, uint16_t y, uint16_t color,uint16_t  banjing)
  9. {  uint16_t  a,b,b1=0,b2=0,b3;
  10.     for(a=0;a<239;a++)
  11.         {
  12.                  b1=0;b2=240;
  13.                  for(b=0;b<319;b++)
  14.            {        
  15.              if((((banjing*banjing+50)-(b-y)*(b-y))>(a-x)*(a-x))&(((banjing*banjing-50)-(b-y)*(b-y))<(a-x)*(a-x)))  //19*19<(a-x)*(a-x)<21*21
  16.              {
  17.                     TFT_SetWindow(a, b, a, b);  //设置点的位置
  18.               TFT_WriteData_Color(color);       //画点
  19.               b1=b;
  20.                    if(b1>b2)
  21.                   {
  22.                     TFT_SetWindow(a, b2, a, b1);  //设置点的位置
  23.                     b3=b1-b2;
  24.                     while(b3--)
  25.                     {
  26.                      TFT_WriteData_Color(color);
  27.                     }
  28.                   }
  29.                     b2=b1;

  30.                 }
  31.           }


  32.           }
  33.          
  34.         
  35. }

  36.   /****************************************************************************
  37. * Function Name  : GUI_recle
  38. * Description    : 画空心圆
  39. * Output         : None
  40. * Return         : None
  41. ****************************************************************************/
  42. void GUI_recle(uint16_t x, uint16_t y, uint16_t color,uint16_t  banjing)
  43. {  uint16_t  a,b;
  44.     for(a=0;a<239;a++)
  45.         {
  46.                  for(b=0;b<319;b++)
  47.            {        
  48.              if((((banjing*banjing+50)-(b-y)*(b-y))>(a-x)*(a-x))&(((banjing*banjing-50)-(b-y)*(b-y))<(a-x)*(a-x)))  //19*19<(a-x)*(a-x)<21*21
  49.              {
  50.                     TFT_SetWindow(a, b, a, b);  //设置点的位置
  51.               TFT_WriteData_Color(color);       //画点
  52.             
  53.                 }
  54.           }


  55.           }
  56.          
  57.         
  58. }
复制代码

word: GUI实心圆 空心圆.docx (11.38 KB, 下载次数: 7)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1