OpenEdv-开源电子网

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

TFTLCD怎么在指定的一个圆圈里填充颜色?lcd.c这个文件里貌似只有在矩形区域填充颜色的函数啊

[复制链接]

3

主题

12

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2016-6-13
在线时间
11 小时
发表于 2016-6-13 15:38:46 | 显示全部楼层 |阅读模式
1金钱
lcd.c中只有void LCD_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color)和void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)函数有颜色填充功能,那我假如用LCD_Draw_Circle(80,270,20)画了一个以(80,270)为圆心,20为半径的圆,我要在这个圆里填充红色,应该怎么做?
QQ图片20160613153309.png

最佳答案

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

[mw_shl_code=c,true]//画实心圆 //x0,y0:坐标 //r半径 //color:颜色 void gui_fill_circle(u16 x0,u16 y0,u16 r,u16 color) { u32 i; u32 imax = ((u32)r*707)/1000+1; u32 sqmax = (u32)r*(u32)r+(u32)r/2; u32 x=r; gui_draw_hline(x0-r,y0,2*r,color); for (i=1;isqmax) { // draw lines from outside if (x>imax) { gui_draw_hline (x0-i+1,y0+x,2*(i-1),color); ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2016-6-13 15:38:47 | 显示全部楼层
[mw_shl_code=c,true]//画实心圆
//x0,y0:坐标
//r半径
//color:颜色
void gui_fill_circle(u16 x0,u16 y0,u16 r,u16 color)
{                                                                                          
        u32 i;
        u32 imax = ((u32)r*707)/1000+1;
        u32 sqmax = (u32)r*(u32)r+(u32)r/2;
        u32 x=r;
        gui_draw_hline(x0-r,y0,2*r,color);
        for (i=1;i<=imax;i++)
        {
                if ((i*i+x*x)>sqmax)
                {
                        // draw lines from outside  
                        if (x>imax)
                        {
                                gui_draw_hline (x0-i+1,y0+x,2*(i-1),color);
                                gui_draw_hline (x0-i+1,y0-x,2*(i-1),color);
                        }
                        x--;
                }
                // draw lines from inside (center)  
                gui_draw_hline(x0-x,y0+i,2*x,color);
                gui_draw_hline(x0-x,y0-i,2*x,color);
        }
}[/mw_shl_code]
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2016-6-13
在线时间
11 小时
 楼主| 发表于 2016-6-17 11:02:59 | 显示全部楼层
正点原子 发表于 2016-6-13 15:38
[mw_shl_code=c,true]//画实心圆
//x0,y0:坐标
//r半径

gui_draw_hline()这个函数也是自己编写的吗?源码里找不到这个函数啊
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2016-6-13
在线时间
11 小时
 楼主| 发表于 2016-6-17 11:27:18 | 显示全部楼层
gui_draw_hline()这个函数也是自己编写的吗?源码里找不到这个函数啊
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2017-7-24
在线时间
48 小时
发表于 2017-8-1 14:49:44 | 显示全部楼层
gui_draw_hline()请问下这是什么函数
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2017-7-24
在线时间
48 小时
发表于 2017-8-1 14:51:13 | 显示全部楼层
正点原子 发表于 2016-6-13 15:38
[mw_shl_code=c,true]//画实心圆
//x0,y0:坐标
//r半径

gui_draw_hline()请问下这是什么函数??
回复

使用道具 举报

14

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2017-4-27
在线时间
23 小时
发表于 2017-8-1 21:53:04 | 显示全部楼层
自己写一个
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 02:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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