gpt4 book ai didi

c++ - SDL2 绘制和填充形状

转载 作者:行者123 更新时间:2023-11-30 03:41:14 25 4
gpt4 key购买 nike

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

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

最佳答案

如果你想填充一个多边形,谷歌快速搜索提供了一个有效的算法 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的源文件放到你的工程里吗?您只能将四个文件放入项目的子文件夹中。

关于c++ - SDL2 绘制和填充形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com