当前位置: 代码迷 >> 单片机 >> TFT荧光屏画圆
  详细解决方案

TFT荧光屏画圆

热度:141   发布时间:2016-04-28 14:55:53.0
TFT显示屏画圆
如何让圆半径绕圆心沿顺时针旋转显示出一个半圆,求代码!!!
------解决方案--------------------
void LCD_DrawPoint(u16 X,u16 Y,u16 Colour)    //液晶屏上实现画一个点的函数
{
  LCD_SetXY(X,Y);
ili9481_WriteData(Colour);
}

/* 函数LCD_DrawCriclePixel画圆的像素点 */
void LCD_DrawCriclePixel(u16 x0,u16 y0,u16 x,u16 y,u16 colour)
{
LCD_DrawPoint(x0+x,y0+y,colour);        //LCD_DrawPoint(x,y,colour)函数为在对应x,y坐标处画一个颜色为colour的点,根据不同液晶屏修改下
LCD_DrawPoint(x0+x,y0-y,colour);
LCD_DrawPoint(x0-x,y0+y,colour);
LCD_DrawPoint(x0-x,y0-y,colour);
LCD_DrawPoint(x0+y,y0+x,colour);
LCD_DrawPoint(x0+y,y0-x,colour);
LCD_DrawPoint(x0-y,y0+x,colour);
LCD_DrawPoint(x0-y,y0-x,colour);

/* 画圆函数,x0,y0为圆心坐标,r为半径,colour为颜色 */
void LCD_DrawCricle(int x0,int y0,int r,u16 colour)
{
int x,y;
        float d;
x = 0;
y = r;
d = 5.0/4-r;
while(x<=y)
{
LCD_DrawCriclePixel(x0,y0,x,y,colour);
if(d<0)
d+=x*2.0+3;
else
{
d+=2.0*(x-y)+5;
y--;
}
x++;
}
}
  相关解决方案