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フィールド内のすべてのピクセルに赤、緑、および青の値を設定しています。
ここで、中点と半径を知って円を塗りつぶしたいと思います。しかし、どのピクセルがこの円の内側にあり、どのピクセルがそうでないかをどうやって知ることができますか?読んでくれてありがとう、どんな助けでもいただければ幸いです。