• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

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

4285dd527d87525f 2019-12-14 浏览量:1179
2.4TFT屏幕上怎么画实心圆?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:8
  • 这个要看你使用什么绘图库啦,一般来说有库支持的情况下比较简单,直接设置填充颜色再画圆即可,和用什么屏幕没有关系的。

    如果要自己处理相应绘图基本函数,这个就比较复杂啦,涉及比较多的计算,要制定一系列计算规则,比如如果圆的一部分超出屏幕还是把在屏幕上显示的部分填色,这样一些规则。

    具体绘制算法其实也没有那么复杂

    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. 如此循环执行到不超出屏幕的所有外接正方形范围即可


  • 单片机上画,一个是可以画GUI的API函数来画

    一个是实现画一个点的驱动,再把一个圆 中的点都点亮就是实心的了

  • 先确定一个圆心的像素位置,再确定半径大小,画一个空心的圆,所有像素坐标在这个空心圆内的像素点都点亮,就是实心圆 了

  • 这些tft屏幕都有相关的刷屏库的,将要显示的东西以点的形式输出即可

  • 可以使用ucgui画,有专门的API函数可以直接画出来,本质上还是通过画点的方式

  • 建议你直接导入一个图形库,然后在图形库里面找到对应的形状输出函数,然后再控制输出圆形

  • 可以在你的屏幕先模拟实心圆的数据,把屏幕的数据保存下来,然后要画圆的话直接输出数据即可

相关问题

问题达人换一批

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