修正画线函数变量类型
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 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 算法
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* @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 色,不含图像头。
|
||||
* 请确保图片完全在屏幕区域内
|
||||
|
||||
@ -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_Point(int16_t x, int16_t y, uint16_t color);
|
||||
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_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