这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LCD屏幕涂鸦应用

共3条 1/1 1 跳转至

LCD屏幕涂鸦应用

工程师
2025-05-13 13:27:59     打赏

 1、简介

使用触控屏完成一款简易的涂鸦应用,并支持多种画笔颜色选择。屏幕驱动IC为XPT2046,屏幕仅需提供区域绘制函数ILI9325_DrawRectangle

2、程序设计

绘制画笔颜色按键控件

void draw_color_btn(){
ILI9325_DrawRectangle(btn_x,btn_y,btn_w,btn_h,ILI9325_COLOR_RED);//红色画笔
ILI9325_DrawRectangle(btn_x,btn_y-btn_span,btn_w,btn_h,ILI9325_COLOR_GREEN);//绿色画笔
ILI9325_DrawRectangle(btn_x,btn_y-btn_span*2,btn_w,btn_h,ILI9325_COLOR_BLUE);
ILI9325_DrawRectangle(btn_x,btn_y-btn_span*3,btn_w,btn_h,ILI9325_COLOR_MAGENTA);
ILI9325_DrawRectangle(btn_x,btn_y-btn_span*4,btn_w,btn_h,ILI9325_COLOR_LIGHTBLUE);
ILI9325_DrawRectangle(btn_x,btn_y-btn_span*5,btn_w,btn_h,ILI9325_COLOR_BLACK);//清屏
}

根据不同触控区域、画笔颜色,执行相应的方格区域绘制。坐标点落在绘制颜色选择按钮,则更改画笔默认颜色。以下使用到触控IC的中断回调函数

uint16_t default_draw_color=ILI9325_COLOR_BLACK;
void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)
{
 if (GPIO_Pin == T_IRQ_Pin)
 {
  if(XPT2046_TouchPressed())
  {
   uint16_t x = 0, y = 0;
   if(XPT2046_TouchGetCoordinates(&x, &y))
   {
 if((x>10&&x<=(btn_x+btn_w))&&(y>=(btn_y-btn_span*5)&&y<=(btn_y+btn_h))){
 printf("XPT2046 x=%d,y=%dn",x,y);
if(y>(btn_y-btn_span*5)&&y<(btn_y-btn_span*5+btn_h)){
ILI9325_Clear(ILI9325_COLOR_WHITE);
draw_color_btn();
}
else if(y>(btn_y-btn_span*4)&&y<(btn_y-btn_span*4+btn_h)){
default_draw_color=ILI9325_COLOR_LIGHTBLUE;
}
else if(y>(btn_y-btn_span*3)&&y<(btn_y-btn_span*3+btn_h)){
default_draw_color=ILI9325_COLOR_MAGENTA;
}
else if(y>(btn_y-btn_span*2)&&y<(btn_y-btn_span*2+btn_h)){
default_draw_color=ILI9325_COLOR_BLUE;
}
else if(y>(btn_y-btn_span*1)&&y<(btn_y-btn_span*1+btn_h)){
default_draw_color=ILI9325_COLOR_GREEN;
}
else if(y>(btn_y-btn_span*0)&&y<(btn_y-btn_span*0+btn_h)){
default_draw_color=ILI9325_COLOR_RED;
}
else{
default_draw_color=ILI9325_COLOR_BLACK;
}
 }
 else{
 ILI9325_DrawRectangle(x,y,6,6,default_draw_color);
 }
   }
  }
 }
}

3、实验效果

在触控点落入处填充了相应的颜色方块,由于电阻屏的性质触摸效果要比电容屏差一些,不过也可以尽情的涂鸦一番。

screenshots.gif





关键词: LCD屏幕涂鸦    

院士
2025-05-13 18:31:39     打赏
2楼

谢谢分享,学习了


专家
2025-05-14 08:20:43     打赏
3楼

谢谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]