打印

Palette_draw_point(uint16_t x, uint16_t y)函数理解

[复制链接]
593|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第十代火影|  楼主 | 2018-6-29 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

void Palette_draw_point(uint16_t x, uint16_t y)

{

  /* 画笔默认为黑色 */

  static u16 Pen_color=0;

  u16 y_pos = y;



  /* 在画板内取色 */

  if( x<40 )

  {

    if( y>30 )

    Pen_color = (y_pos<60)?GREEN:\

                (y_pos<90)?BLUE:\

                (y_pos<120)?BRED:\

                (y_pos<150)?GRED:\

                (y_pos<180)?GBLUE:\

                (y_pos<210)?BLACK:\

                (y_pos<240)?RED:BLUE;

    else

    {/* 清屏 */      

      #if 1

      LCD_Clear(40, 0, 280, 240, BLACK);

      #elif 0

      LCD_Clear(40, 0, 280, 240, WHITE);

      #endif

      return;

    }

  }

  else

  {

    #if 0

    LCD_SetPoint(x , y , Pen_color);

    LCD_SetPoint(x+1 , y , Pen_color);

    LCD_SetPoint(x , y+1 , Pen_color);

    LCD_SetPoint(x+1 , y+1 , Pen_color);

    #elif 1

    LCD_SetPoint(x , y , Pen_color);

    LCD_SetPoint(x-1 , y , Pen_color);

    LCD_SetPoint(x , y-1 , Pen_color);

    LCD_SetPoint(x+1 , y , Pen_color);

    LCD_SetPoint(x , y+1 , Pen_color);

    #endif

  }        

}





其中 #if 0。。。 #elif 1 是什么意思  比如 #if 0  这个条件判断是假 那么这句下面的语句是不是永远不会执行?



问题可能有点浅显,还请前辈指点

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

363

主题

363

帖子

0

粉丝