如何在下面的代码中更改图像大小:
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
放入另一个mainScreen
的{{1}}时,它大于50 * 50。是否可以调整SDL_Surface
的大小?谢谢。
当我设置WHOME和HHome,50 * 50时会发生这种情况 由于我只有5个声望,我无法发布图片。要查看图像,请点击here。
但是当我将它们设置为原始图像尺寸时,这就是我所看到的:
here
答案 0 :(得分:1)
根据SDL_BlitSurface文档:
仅在dstrect中使用位置(忽略宽度和高度)。
我强烈建议切换到SDL 2有很多原因(硬件加速很大);纹理和SDL_RenderCopy这个任务也变得微不足道。如果你在某种程度上坚持使用SDL 1,你可以手动查看缩放表面,或使用像SDL_gfx这样具有自定义blit函数的库。