单片机/MCUwilliam hill官网
直播中

话多显蠢

9年用户 818经验值
擅长:479461
私信 关注
[问答]

请问2.4TFT屏幕上怎么画实心圆?

2.4TFT屏幕上怎么画实心圆?        

回帖(1)

廉凌刚

2023-10-16 17:06:48
 这个要看你使用什么绘图库啦,一般来说有库支持的情况下比较简单,直接设置填充颜色再画圆即可,和用什么屏幕没有关系的。
如果要自己处理相应绘图基本函数,这个就比较复杂啦,涉及比较多的计算,要制定一系列计算规则,比如如果圆的一部分超出屏幕还是把在屏幕上显示的部分填色,这样一些规则。
具体绘制算法其实也没有那么复杂
1. 以圆心坐标(x0,y0)和半径r,可以确定圆在屏幕上外接正方形的位置,
2. 除了y(如果圆心和r计算出来可能不是整数,但需要取最接近整数)最大和最小的两个圆上点(x0y0-r)和(x0y0+r)这两个点用线条色画出来,圆和屏幕上外接正方形范围内涉及的各个屏幕像素线都有2个交点,这是可以计算出来的,因为各个对应交点的y是确定的(是一个整数),所以可以直接求出x(注意x肯定不是整数),主要关系就是 (x-x0)^2+(y-y0)^2=r^2   ==> x = x0(+-) SQRT(r^2-(y-y0)^2),即可以得出每个像素线上的xaxb
3. 有了xaxb和y,则(xay)到(xby)以填充色画一条直线段,端点再设置为线条色
4. 如此循环执行到不超出屏幕的所有外接正方形范围即可
举报

更多回帖

发帖
×
20
完善资料,
赚取积分