SDL2 绘制和填充形状
SDL2 draw and fill shapes
如何绘制不同的形状(矩形和线条除外)并在C++中使用 SDL2 填充它们?我尝试使用SDL2_gfx,但我无法编译SDL2_gfx,所以我无法尝试。我找到了一个编译SDL_gfx但由于我使用的是渲染器而不是表面,所以我无法使用它。绘制多边形很简单,我只需计算点并绘制线条,但是如何填充它们?我怎么画圆?
如果有人有编译SDL2_gfx(与SDL2_ttf和SDL2_image相同),那么也许您可以将其发送给我?
如果你想填充一个多边形,一个快速的谷歌搜索在这里提供了一个有效的算法。或者复制SDL2_gfx方式,因为您可以访问源代码?
为了画一个圆,有中点圆算法,甚至给出了一些代码:
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++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 通过for循环使用用户输入填充列表
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- DirectX11只绘制填充索引和顶点缓冲区中的一半顶点
- 如何在QGraphicsScene上绘制填充多边形
- 如何在 cpp 中绘制带有图案的填充正方形
- C++OpenGL坐标阵列来绘制线条/边界和填充矩形
- SDL2 绘制和填充形状
- OpenGL绘制圆圈 /椭圆(填充)无GLBEGIN
- 无法用SDL2 GFX绘制一个填充的圆圈
- 绘制点或填充圆圈
- 如何使用 SDL 2 和 C++ 绘制椭圆的填充扇区
- 如何在 cocos2d-x 中用颜色绘制圆形填充
- 如何在Qt中绘制由画笔填充的开放曲线
- 在c++中绘制填充立方体,崩溃,没有有用的错误可以跟踪