【发布时间】:2012-05-15 13:44:23
【问题描述】:
这是一个示例代码:
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <stdio.h>
int main()
{
if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
printf("SDL ERROR: %s", SDL_GetError());
return 1;
}
SDL_Surface *screen;
screen = SDL_SetVideoMode(128, 128, 32, SDL_SWSURFACE);
SDL_Surface *img;
img = IMG_Load("./debug.png");
SDL_BlitSurface(img, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Delay(1000);
SDL_FreeSurface(img);
SDL_Quit();
return 0;
}
它编译得很好,但是当我运行它时,它有时会起作用,而且大多数时候只显示部分图像。我真的无法想象是什么原因造成的......
编辑: 这是我用来测试程序的图像:
【问题讨论】:
-
图片在某处可用吗?或者您可以发布一个未修改版本的链接吗?
-
我刚刚编辑并添加了图片的链接......
-
我发现了这个:bugzilla.libsdl.org/show_bug.cgi?id=1397 看起来问题不是代码那么...
-
操作系统? SDL 和 SDL_image 版本?
-
这发生在我使用 Ubuntu 12.04 (gnome) 时。所有的库都是包管理器的最新版本,不幸的是我不记得确切的数字了。现在我使用的是 Kubuntu 12.04,问题就消失了……