【发布时间】:2015-01-26 05:47:12
【问题描述】:
如何在下面的代码中更改图像大小:
const int XHome = 10, YHome = 10;
const int WHome = 50, HHome = 50;
.
.
.
SDL_Surface* Image = SDL_LoadBMP(Address);
SDL_Rect destRect;
destRect.x = WHome * x;
destRect.y = HHome * y;
destRect.w = WHome;
destRect.h = HHome;
SDL_BlitSurface(Image, NULL, mainScreen, &destRect);
SDL_FreeSurface(Image);
当我将Image 放入另一个SDL_Surface 的mainScreen 时,它大于50*50。是否可以调整Image 的大小?谢谢。
这就是我将 WHome 和 HHome 设置为 50*50 时发生的情况。
由于我只有 5 个声望,我无法发布图片。查看图片请点击here。
但是当我将它们设置为原始图像大小时,我看到的是:
here
【问题讨论】:
-
“更大”是什么意思?它渲染的尺寸是多少?您的目标矩形应指定大小;似乎是对的。您是否尝试过更改 WHome 和 HHome?顺便说一句,如果您使用的是 SDL2,您应该为您的图像使用 SDL_Texture 而不是表面。当您通过 SDL_RenderCopy 渲染时,您将获得硬件加速,并且可以像使用 blitting 一样指定目标大小。
-
我认为它会调整图像大小。但它没有。我很快就会设置图像。