我正在尝试使用 android SDL 2.0,但是遇到了一个我无法解决的问题。我的问题是我尝试制作一张 1080*1920 的图片作为我的应用程序的背景。我在 Photoshop 中创建它,但每当我尝试在手机上启动该应用程序时,图像质量就会差很多。
这是一个例子。你不能在图片上看到它有多糟糕,但在我的手机屏幕上看,情况更糟:
我正在使用的代码:
int main(int argc, char *argv[])
{
int w, h;
KEP kep;
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Surface *surface;
SDL_CreateWindowAndRenderer(0, 0, 0, &window, &renderer);
SDL_GetWindowSize(window, &w, &h);
surface = IMG_Load("hatter.png");
kep.w = w;
kep.h = h;
kep.texture=SDL_CreateTextureFromSurface(renderer, surface);
SDL_FreeSurface(surface);
SDL_Rect destination={0, 0, kep.w, kep.h};
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, kep.texture, NULL, &destination);
SDL_RenderPresent(renderer);
return 0;
}
“kep”只是一个具有图片的纹理、宽度和高度的结构,前面已声明。我现在正在使用 SDL_image 扩展,但它也不适用于SDL_LoadBMP()
任何一个。
我该怎么做才能不至于如此糟糕的质量?
非常感谢!