0

我正在尝试制作一个处理图形的程序,但我不太确定如何实现缩放。我已经通过缩小它们对原始形状(例如线条和圆形)(使用 SDL_gfxPrimitives)进行了缩放效果,但这不适用于图片。我将如何实现缩放?

4

2 回答 2

2

您的问题不够具体,无法产生一个具体的答案,可能会为您提供您所寻找的东西。

我能给你的是建议你首先想出一种表示缩放的方法。

如果您已经知道如何绘制图片,请考虑这样一个事实,即在涉及计算机图形时,几乎总是“放大”或“缩小”只不过是逐渐放大或缩小图片尺寸。

考虑到这一点,也许您会开始看到表示缩放概念的合理方法是使用某种形式的Camera类,该类将明确地确定您绘制的图片的大小和位置。

于 2012-12-29T22:57:58.917 回答
2

有一个支持缩放的 SDL 库:

SDL2_gfx 库

SDL_gfx 库从 SDL_gfxPrimitives 代码演变而来,该代码提供了基本的绘图例程,例如线、圆或多边形,以及 SDL_rotozoom,它为 SDL 表面实现了插值旋转缩放器。

SDL_gfx 库的当前组件是:

  • 图形基元 (SDL_gfxPrimitves.h)
  • 旋转缩放器 (SDL_rotozoom.h)
  • 帧率控制 (SDL_framerate.h)
  • MMX 图像过滤器 (SDL_imageFilter.h)
  • 自定义 Blit 函数 (SDL_gfxB​​litFunc.h)
于 2012-12-29T23:05:36.790 回答