SDL2 绘制和填充形状

SDL2 draw and fill shapes

如何在 C++ 中使用 SDL2 绘制不同的形状(矩形和线条除外)并填充它们?我尝试使用 SDL2_gfx,但无法编译 SDL2_gfx,因此无法尝试。我找到了一个已编译的 SDL_gfx,但由于我使用的是渲染器而不是表面,所以我无法使用它。画多边形很简单,算点画线就可以了,但是怎么填充呢?我该如何画圆圈?

如果有人有已编译的 SDL2_gfx(与 SDL2_ttf 和 SDL2_image 相同)那么也许您可以将它发送给我?

如果您想填充一个多边形,快速 google 搜索可提供有效的算法 here。或者复制方式 SDL2_gfx 是可能的,因为您可以访问源代码?

要画一个圆,the Midpoint Circle algorithm甚至给出了一些代码:

void DrawCircle(int x0, int y0, int radius)
{
    int x = 0, y = radius;
    int dp = 1 - radius;
    do
    {
        if (dp < 0)
            dp = dp + 2 * (++x) + 3;
        else
            dp = dp + 2 * (++x) - 2 * (--y) + 5;

        putpixel(x0 + x, y0 + y, 15);     //For the 8 octants
        putpixel(x0 - x, y0 + y, 15);
        putpixel(x0 + x, y0 - y, 15);
        putpixel(x0 - x, y0 - y, 15);
        putpixel(x0 + y, y0 + x, 15);
        putpixel(x0 - y, y0 + x, 15);
        putpixel(x0 + y, y0 - x, 15);
        putpixel(x0 - y, y0 - x, 15);

    } while (x < y);
}

但真正应该做的是寻求帮助解决编译问题SDL2_gfx。大不了,你直接把SDL2_gfx的源文件放到你的项目里不行吗?只有四个文件可以放在项目的子文件夹中。