求教:有关lcd的问题LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)怎么运用?

2019-07-20 22:32发布

 void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)

u16 height,width;
u16 i,j;
width=ex-sx+1; //得到填充的宽度
height=ey-sy+1;//高度
 for(i=0;i<height;i++)
{
 LCD_SetCursor(sx,sy+i);   //设置光标位置
LCD_WriteRAM_Prepare();     //开始写入GRAM
for(j=0;j<width;j++)LCD->LCD_RAM=color[i*height+j];//写入数据
}  

该函数的形参“u16 *color”怎么运用?请举个例子!谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
34条回答
冯丑丑爱睡觉
1楼-- · 2019-07-21 01:59
原子的历程里已经把颜 {MOD}在lcd.h文件中都宏定义好了,你可以直接写颜 {MOD}的名称
//画笔颜 {MOD}
#define WHITE           0xFFFF
#define BLACK           0x0000   
#define BLUE           0x001F  
#define BRED             0XF81F
#define GRED   0XFFE0
#define GBLUE  0X07FF
#define RED             0xF800
#define MAGENTA         0xF81F
#define GREEN           0x07E0
#define CYAN            0x7FFF
#define YELLOW          0xFFE0
#define BROWN   0XBC40 //棕 {MOD}
#define BRRED   0XFC07 //棕红 {MOD}
#define GRAY    0X8430 //灰 {MOD}
//GUI颜 {MOD}

#define DARKBLUE        0X01CF //深蓝 {MOD}
#define LIGHTBLUE        0X7D7C //浅蓝 {MOD}  
#define GRAYBLUE         0X5458 //灰蓝 {MOD}
//以上三 {MOD}为PANEL的颜 {MOD} 
 
#define LIGHTGREEN       0X841F //浅绿 {MOD}
//#define LIGHTGRAY        0XEF5B //浅灰 {MOD}(PANNEL)
#define LGRAY   0XC618 //浅灰 {MOD}(PANNEL),窗体背景 {MOD}

#define LGRAYBLUE        0XA651 //浅灰蓝 {MOD}(中间层颜 {MOD})
#define LBBLUE           0X2B12 //浅棕蓝 {MOD}(选择条目的反 {MOD})
冯爽朗
2楼-- · 2019-07-21 04:57
给你们说啊,27楼是对的,有人需要验证吗,反正我验证了一下,定义一个颜 {MOD}数组u16 color【4】,然后就可以显示啦,虽然说是显示的很乱,但是就是27楼说的那样
一片天
3楼-- · 2019-07-21 06:10
 精彩回答 2  元偷偷看……
lichome
4楼-- · 2019-07-21 08:59
本帖最后由 lichome 于 2017-3-1 11:14 编辑

用一句话描述这个函数:用数组中的各个颜 {MOD}值 来显示指定区域中各个点的颜 {MOD}

可以用在显示 自定义字符 的场合,把要显示的字符的各个像素点 用 指定的颜 {MOD} 填入 数组 color中。
*color的各个值分别代表 字符各个点的颜 {MOD}。
当然,用在显示图片时就更方便了
读取图片中各个点的颜 {MOD},保存在数组*color中,然后将这个数组填充到指定区域。
是否正确,请朋友验证后回复一下,防止误导别人。


qq942266575
5楼-- · 2019-07-21 09:47
楼上的,人家这个参数是一个指针。
楼主,指针指向的颜 {MOD},不难理解。
henry_waiken
6楼-- · 2019-07-21 15:08
楼上酷毕

一周热门 更多>