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

2019-07-21 00:51发布

//在指定区域内填充指定颜 {MOD}块  
//(sx,sy),(ex,ey):填充矩形对角坐标,区域大小为ex-sx+1)*(ey-sy+1)   
//color:要填充的颜 {MOD}
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_WR_DATA(color[i*width+j]);//写入数据 
}  


u16 *color这个参数怎么设置,怎么会是个指针啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
wyudcl
1楼-- · 2019-07-22 00:15
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-22 03:47
回复【8楼】wyudcl:
---------------------------------
哪里不明白?
电话我:15902020353
wyudcl
3楼-- · 2019-07-22 05:05
回复【9楼】正点原子:
---------------------------------
谢谢原子,您辛苦了。
等我把下面这句背诵100倍,如果还不明白再 电话你。
“也就是讲color指向的一段内存区间的数据,填充到LCD。”
wmh19910511
4楼-- · 2019-07-22 05:20
 精彩回答 2  元偷偷看……
QKX607
5楼-- · 2019-07-22 06:02
回复【2楼】正点原子:
---------------------------------
填充的颜 {MOD}值是否应该对应二维数组呢!
QKX607
6楼-- · 2019-07-22 11:23
回复【2楼】正点原子:
---------------------------------
写入数据应该是“LCD_WR_DATA(color[i*width+j]);//写入数据”还是“LCD_WR_DATA(color[i*height+j]);//写入数据”。战舰版实验里面是“LCD_WR_DATA(color[i*height+j])”
弄不懂color和图片的像素点怎么对应的,为什么会是color[i*height+j]

一周热门 更多>