找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2540|回复: 0
收起左侧

单片机GUI实心圆 空心圆库函数 自主编写

[复制链接]
ID:557330 发表于 2019-6-7 19:28 | 显示全部楼层 |阅读模式
单片机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)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表