2 tian 123456789 tian_123456789 于 2016.05.05 11:53 提问

求救,DEV下为什么SDL中可以正常运行但是加载不出图片(图片和源代码在同一文件夹下)

#include"SDL/SDL.h"
#include

const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32;

SDL_Surface *message = NULL;
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL;

SDL_Surface *load_image(std::string filename)
{
SDL_Surface *loadedImage = NULL;
SDL_Surface *optimizedImage = NULL;

loadedImage = SDL_LoadBMP(filename.c_str());
if(loadedImage!= NULL)
{
    optimizedImage=SDL_DisplayFormat(loadedImage);

    SDL_FreeSurface(loadedImage);
}
return optimizedImage;

}

void apply_surface(int x, int y, SDL_Surface *source, SDL_Surface *destination)
{
SDL_Rect offset;

offset.x=x;
offset.y=y;

SDL_BlitSurface(source, NULL, destination, &offset);

}

int main(int argc, char *args[])
{
if(SDL_Init(SDL_INIT_EVERYTHING)== -1)
{
return 1;

}
screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP,SDL_SWSURFACE);

if(screen==NULL)
{
    return 1;
    }   
SDL_WM_SetCaption("hello world", NULL);
message=load_image("1.bmp") ;
background=load_image("hello.bmp");

apply_surface(0, 0, background, screen);
apply_surface(320, 0, background, screen);
apply_surface(0, 240, background, screen);
apply_surface(320, 240, background, screen);

apply_surface(180, 140, message, screen);

if(SDL_Flip(screen)== -1)
{
    return 1;
}
SDL_Delay(5000);

SDL_FreeSurface(message);
SDL_FreeSurface(background);
SDL_Quit();


return 0;

}

3个回答

CSDNXIAON
CSDNXIAON   2016.05.05 12:02
已采纳

GridView 加载本地某个文件夹下的所有图片
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_34890612
qq_34890612   2016.05.05 12:47
bealing
bealing   Rxr 2016.05.05 13:07

貌似没有SDL_Init()吧

tian_123456789
tian_123456789 嗯嗯,3q
一年多之前 回复
bealing
bealing SDL默认只能加载显示BMP格式的图片,如果想要显示其他格式的图片,需要适用SDL_Image库
一年多之前 回复
tian_123456789
tian_123456789 我今天下午又试了一下,他好像跟图片有关系,有的图片可以出来,有的不知道为啥出不来
一年多之前 回复
bealing
bealing 哦哦,看错了。。。。之前搞过一短时间的SDL,现在环境也没了,不好调
一年多之前 回复
tian_123456789
tian_123456789 有吧,可以运行,但是出来之后是黑屏,没有图片
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!