我如何使用 SDL C++ 库在两个给定点之间绘制一条二维线。我不想使用任何其他外部库,如 SDL_draw 或 SDL_gfx 。
最佳答案
为正在努力解决同一问题的编码人员提供的最新答案。
在 SDL2 中,SDL_Render.h 中有几个函数可以实现这一点,而无需实现您自己的线条绘制引擎或使用外部库。
您可能想使用:
int SDL_RenderDrawLine( SDL_Renderer* renderer, int x1, int y1, int x2, int y2 );
其中renderer是你之前创建的renderer,x1 & y1是开头,x2 & y2是结尾。
还有一个替代函数,您可以立即用多个点绘制一条线,而不是多次调用上述函数:
int SDL_RenderDrawPoints( SDL_Renderer* renderer, const SDL_Point* points, int count );
其中renderer是之前创建的渲染器,points是已知点的固定数组,count点的数量在那个固定数组中。
所有提到的函数在出错时返回 -1,成功时返回 0。
关于c++ - 如何在不使用外部库的情况下使用 SDL 绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737988/