在SDL中缩放精灵

kma*_*xeg 6 sdl sprite scale image-scaling

我如何在SDL中扩展精灵?

Kal*_*see 9

SDL不直接提供缩放功能,但还有一个名为SDL_gfx的附加库,它提供旋转和缩放功能.还有另一个名为Sprig的库,它提供了类似的功能.


Ibr*_* CS 9

如果您使用 SDL_RenderCopy() 从纹理中获取精灵,则可以进行缩放,但我不能保证您可以抗锯齿。

使用函数 SDL_RenderCopy(),您可以传递 4 个参数:

  • 指向渲染器(您将在其中渲染)的指针。
  • 指向纹理的指针(您将在其中获取精灵)。
  • 指向源矩形的指针(在纹理上获取精灵的区域和位置)。
  • 和指向目标矩形的指针(您要绘制的渲染器上的区域和位置)。

您应该只修改您的目标矩形,例如,如果您要渲染 300 x 300 的图像并且希望对其进行缩放,则您的目标矩形应该类似于 150 x 150 或 72 x 72 或您想要缩放的任何值。