我使用C代码根据规范创建了位图/ bmp文件,我想在我的位图上绘制简单的图元。下面的代码显示了如何画一个矩形,在我的位图:如何绘制实心圆?
if(curline->type == 1) // draw a rectangle
{
int xstart = curline->x;
int ystart = curline->y;
int width = curline->width + xstart;
int height = curline->height + ystart;
int x = 0;
int y = 0;
for(y = ystart; y < height; y++)
{
for(x = xstart; x < width; x++)
{
arr[x][y].blue = curline->blue;
arr[x][y].green = curline->green;
arr[x][y].red = curline->red;
}
}
printf("rect drawn.\n");
}
...
save_bitmap();
输出示例:
所以基本上我中规定的设定红色,绿色和蓝色值的所有像素x和y字段。
现在我想知道它的中点和半径来填充一个圆。但是,我怎么知道这个圆圈内的哪些像素以及哪些像素不是?任何帮助将不胜感激,谢谢阅读。
bool b = x * x + y * y
tp1