OpenEdv-开源电子网

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

要在LCD屏幕上随机的一块正方形范围内进行像素显示,请问是使用LCD_DrawRectangle函数还是LCD_Color_Fill函数。具体的代码应...

[复制链接]

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2022-1-9
在线时间
43 小时
发表于 2022-1-21 20:31:30 | 显示全部楼层 |阅读模式
10金钱
要在LCD屏幕上随机的一块正方形范围内进行像素显示,请问是使用LCD_DrawRectangle函数还是LCD_Color_Fill函数。具体的代码应该怎么写呢?

最佳答案

查看完整内容[请看2#楼]

你找下LCD的C文件里是不是有LCD_Set_Window
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3385

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8623
金钱
8623
注册时间
2020-5-11
在线时间
4055 小时
发表于 2022-1-21 20:31:31 | 显示全部楼层
18700827839 发表于 2022-1-22 10:52
我是想画一个矩形,然后在里面写像素,这是我的代码,但是在LCD屏幕上并不会按照我在主函数里设置的坐标显 ...

你找下LCD的C文件里是不是有LCD_Set_Window
傲游截图20220122142848.jpg
专治疑难杂症
回复

使用道具 举报

13

主题

644

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1994
金钱
1994
注册时间
2021-4-16
在线时间
509 小时
发表于 2022-1-22 09:54:14 | 显示全部楼层
你只是想画个框你就用LCD_DrawRectangle,要填满某个颜色的话你就用LCD_Color_Fill
回复

使用道具 举报

4

主题

456

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1072
金钱
1072
注册时间
2021-4-26
在线时间
352 小时
发表于 2022-1-22 10:00:22 | 显示全部楼层
画矩形用的LCD_DrawRectangle;指定区域填充颜色用LCD_Color_Fill;看你的要求应该是用LCD_Color_Fill,直接调用传参就可以的
回复

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2022-1-22 10:04:18 | 显示全部楼层
帮顶   
回复

使用道具 举报

12

主题

3385

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8623
金钱
8623
注册时间
2020-5-11
在线时间
4055 小时
发表于 2022-1-22 10:27:13 | 显示全部楼层
看你的意思像是需要设置显示窗口啊。你找找看有没有set win什么的函数。
专治疑难杂症
回复

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2022-1-9
在线时间
43 小时
 楼主| 发表于 2022-1-22 10:52:56 | 显示全部楼层
我是想画一个矩形,然后在里面写像素,这是我的代码,但是在LCD屏幕上并不会按照我在主函数里设置的坐标显示。LCD宽度上像素显示一直是满格

void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2)
{
       
        u32 i=0;
       
        lcddev.setycmd=0X2A;        //设置写Y坐标指令
        LCD_WR_DATA((x1>>8)&0xFF);
        LCD_WR_DATA(x1&0xFF);
        LCD_WR_DATA((x2>>8)&0xFF);
        LCD_WR_DATA(x2&0xFF);
       
        lcddev.setxcmd=0X2B;        //设置写X坐标指令
        LCD_WR_DATA((y1>>8)&0xFF);
        LCD_WR_DATA(y1&0xFF);
        LCD_WR_DATA((y2>>8)&0xFF);
        LCD_WR_DATA(y2&0xFF);
       
  lcddev.setxcmd=0X2C;//设置写入GRAM的指令 写像素
        for(i=0;i<(x2-x1+1)*(y2-y1+1);i++)   //矩形框里的所有像素
        {
         LCD_WR_DATA( 0x001F );
        }       
回复

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2022-1-9
在线时间
43 小时
 楼主| 发表于 2022-1-22 15:43:53 | 显示全部楼层
LcwSwust 发表于 2022-1-22 14:29
你找下LCD的C文件里是不是有LCD_Set_Window

有这个函数。整个lcd.c代码里面我就改了画矩形那块代码,这个代码没有动过。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-6 10:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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