OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7230|回复: 1

怎么给三角形填充颜色,我可以给直角三角形填充,可是给等腰三角就不行了,这个是代码,不知那错了,、、、

[复制链接]

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
发表于 2013-8-8 20:44:33 | 显示全部楼层 |阅读模式

/***************************************************************************
* //画正三角
*
****************************************************************************/
void regual_angle(u16 x0,u16 y0,u16 x1,u16 y1,u16 color, u8 fill)
{
    if(fill)
 {
    u16 i,j,a,b;
  if(x0<(x0+(x1-x0)/2))
  {
   i=x0+(x1-x0)/2;
   x1=x0;
  }
  else
  {
   i=x0;
  }
  if(y0>y1)
  {
    j=y1;
    y1=y0;
  
  }
  else { j=y0;}
        

  for(;i>=x0;i--)
  {
  {
     for(j;j<y1;j++)
      ili9320_SetPoint(i,j,color);
   //GUI_Line(i,y0,i,y1,color);
  }
  j=y0++;
  }
  //return; 
   //////////////右半部分的填充/////////////
  if((x0+(x1-x0)/2)>x1)
  {
   a=x1;
   x1=x0+(x1-x0)/2;
  }
  else
  {
   a=x0+(x1-x0)/2;
  }
  if(y0>y1)
  {
    b=y1;
    y1=y0;
  
  }
  else { b=y0;}
        

  for(;a<=x1;a++)
  {
     for(;b<y1;b++)
     {
      ili9320_SetPoint(a,b,color);
     
   //GUI_Line(i,y0,i,y1,color);
     }
    // b=y0++;
  }
  return; 
 }
    GUI_Line(x0,y1,(x0+(x1-x0)/2),y0,color); //左竖着的线
  GUI_Line(x0+(x1-x0)/2,y0,x1,y1,color); //上\线
       GUI_Line(x0,y1,x1,y1,color); //xia/线

}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-8 21:17:54 | 显示全部楼层
仿真吧,比较容易找问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 10:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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