修正画线函数变量类型
This commit is contained in:
parent
ad529f5c53
commit
1dd916937d
@ -116,7 +116,7 @@ uint16_t GE_Draw_GetPoint(int16_t x, int16_t y)
|
|||||||
* @param y3: 0~239
|
* @param y3: 0~239
|
||||||
* @param color: 颜色
|
* @param color: 颜色
|
||||||
*/
|
*/
|
||||||
void GE_Draw_Line(int16_t x0, int16_t y0, uint16_t x1, uint16_t y1, uint16_t color)
|
void GE_Draw_Line(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color)
|
||||||
{
|
{
|
||||||
//使用 Bresenham 算法
|
//使用 Bresenham 算法
|
||||||
int16_t dx = abs(x1 - x0);
|
int16_t dx = abs(x1 - x0);
|
||||||
@ -195,6 +195,31 @@ void GE_Draw_Circle(int16_t xm, int16_t ym, uint16_t r, uint16_t color)
|
|||||||
} while (x < 0);
|
} while (x < 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 以指定颜色填充圆
|
||||||
|
* @param xm: 0~319
|
||||||
|
* @param ym: 0~239
|
||||||
|
* @param r: 圆的半径
|
||||||
|
* @param color: 颜色
|
||||||
|
*/
|
||||||
|
void GE_Draw_FillCircle(int16_t xm, int16_t ym, uint16_t r, uint16_t color)
|
||||||
|
{
|
||||||
|
int16_t x = -r, y = 0, err = 2 - 2 * r, rm = r;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
GE_Draw_Line(xm - x, ym + y, xm + x, ym + y, color);
|
||||||
|
GE_Draw_Line(xm - y, ym - x, xm + y, ym - x, color);
|
||||||
|
GE_Draw_Line(xm + x, ym - y, xm - x, ym - y, color);
|
||||||
|
GE_Draw_Line(xm + y, ym + x, xm - y, ym + x, color);
|
||||||
|
rm = err;
|
||||||
|
if (rm > x)
|
||||||
|
err += ++x * 2 + 1;
|
||||||
|
if (rm <= y)
|
||||||
|
err += ++y * 2 + 1;
|
||||||
|
} while (x < 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 绘制矩形图片。图片为 const unsigned char 数组,4096 色,不含图像头。
|
* @brief 绘制矩形图片。图片为 const unsigned char 数组,4096 色,不含图像头。
|
||||||
* 请确保图片完全在屏幕区域内
|
* 请确保图片完全在屏幕区域内
|
||||||
|
|||||||
@ -52,9 +52,10 @@ void GE_Draw_ClrAll(uint16_t color);
|
|||||||
void GE_Draw_Fill(int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t color);
|
void GE_Draw_Fill(int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t color);
|
||||||
void GE_Draw_Point(int16_t x, int16_t y, uint16_t color);
|
void GE_Draw_Point(int16_t x, int16_t y, uint16_t color);
|
||||||
uint16_t GE_Draw_GetPoint(int16_t x, int16_t y);
|
uint16_t GE_Draw_GetPoint(int16_t x, int16_t y);
|
||||||
void GE_Draw_Line(int16_t x0, int16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
|
void GE_Draw_Line(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
|
||||||
void GE_Draw_Rectangle(int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t color);
|
void GE_Draw_Rectangle(int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t color);
|
||||||
void GE_Draw_Circle(int16_t xm, int16_t ym, uint16_t r, uint16_t color);
|
void GE_Draw_Circle(int16_t xm, int16_t ym, uint16_t r, uint16_t color);
|
||||||
|
void GE_Draw_FillCircle(int16_t xm, int16_t ym, uint16_t r, uint16_t color);
|
||||||
|
|
||||||
/*****************************************************************************************/
|
/*****************************************************************************************/
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user