C++ C++;缩放图形内容

C++ C++;缩放图形内容,c++,sdl,C++,Sdl,我正在尝试制作一个处理图形的程序,但我不太确定如何实现缩放。我已经通过缩小线条和圆等基本形状(使用SDL_gf基本图形)来实现缩放效果,但这对图片不起作用。我将如何实现缩放?您的问题不够具体,无法给出一个具体的答案,而这个答案很可能会让您找到您想要的东西 我能给你的建议是,你首先想出一种方法来表示缩放 如果你已经知道如何使用绘制< /强>图片,请考虑一个事实,当涉及到计算机图形时,几乎总是“放大”或“缩小”只不过是以一个逐渐变大或更小的尺寸绘制你的图片。p> 有鉴于此,也许你会开始发现,一种合理

我正在尝试制作一个处理图形的程序,但我不太确定如何实现缩放。我已经通过缩小线条和圆等基本形状(使用SDL_gf基本图形)来实现缩放效果,但这对图片不起作用。我将如何实现缩放?

您的问题不够具体,无法给出一个具体的答案,而这个答案很可能会让您找到您想要的东西

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

如果你已经知道如何使用<强>绘制< /强>图片,请考虑一个事实,当涉及到计算机图形时,几乎总是“放大”或“缩小”只不过是以一个逐渐变大或更小的尺寸绘制你的图片。p>


有鉴于此,也许你会开始发现,一种合理的表示缩放概念的方法是使用某种形式的
相机
类,它可以明确地确定你所画图片的大小和位置。

你的问题不够具体,无法给出一个具体的答案,而这个答案很可能会让你看起来像什么因为

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

如果你已经知道如何使用<强>绘制< /强>图片,请考虑一个事实,当涉及到计算机图形时,几乎总是“放大”或“缩小”只不过是以一个逐渐变大或更小的尺寸绘制你的图片。p>


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

有一个支持缩放的SDL库:

SDL_gfx库是从SDL_gfxPrimitives代码演变而来的,该代码 提供基本绘图例程,如直线、圆或多边形和 SDL_rotozoom,为SDL实现了插值rotozoom 表面

SDL_gfx库的当前组件包括:

  • 图形原语(SDL_gfxPrimitves.h)
  • rotozoom(SDL_rotozoom.h)
  • 帧速率控制(SDL_Framerate.h)
  • MMX图像过滤器(SDL_imageFilter.h)
  • 自定义Blit函数(SDL_gfxBlitFunc.h)

有一个支持缩放的SDL库:

SDL_gfx库是从SDL_gfxPrimitives代码演变而来的,该代码 提供基本绘图例程,如直线、圆或多边形和 SDL_rotozoom,为SDL实现了插值rotozoom 表面

SDL_gfx库的当前组件包括:

  • 图形原语(SDL_gfxPrimitves.h)
  • rotozoom(SDL_rotozoom.h)
  • 帧速率控制(SDL_Framerate.h)
  • MMX图像过滤器(SDL_imageFilter.h)
  • 自定义Blit函数(SDL_gfxBlitFunc.h)

我正要这么说。但是,是的,只要增加画布的大小,你就可以放置纹理。我敢肯定,在大多数图形系统中,修改输出纹理的大小不会神奇地“缩放”你的绘图。因此,如果我说有一个矩形屏幕的大小,并将纹理绘制到该矩形上。现在,如果我把矩形放大一倍,它不会让它看起来像放大了一样吗?我可以告诉你这是。。。。。而且我从来没有说过纹理大小画布你知道你在什么东西上画你的纹理吗?我说的是像照片一样缩放图像我正要这么说。但是,是的,只要增加画布的大小,你就可以放置纹理。我敢肯定,在大多数图形系统中,修改输出纹理的大小不会神奇地“缩放”你的绘图。因此,如果我说有一个矩形屏幕的大小,并将纹理绘制到该矩形上。现在,如果我把矩形放大一倍,它不会让它看起来像放大了一样吗?我可以告诉你这是。。。。。而且我从来没有说过纹理大小画布你知道你在什么东西上画纹理吗?我说的是像照片一样缩放图像