田小思 2016-05-05 03:53 采纳率: 100%
浏览 1295

求救,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;

}

  • 写回答

2条回答

  • 普通网友 2016-05-05 04:47
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?