【求助】SDL_LoadBMP無法加載圖像
sdl吧
全部回复
仅看楼主
level 9
今天剛開始學習SDL,C語言,SDL版本1.2.8,用的IDE是CodeBlocks。從SDL中文教程網站複製下來的代碼,如下
*****
//将SDL函数和数据类型包含进来
#include "SDL/SDL.h"
int main( int argc, char* args[] )
{
//声明表面
SDL_Surface* hello = NULL;
SDL_Surface* screen = NULL;
//启动SDL
SDL_Init( SDL_INIT_EVERYTHING );
//设置窗口
screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
//加载图像
hello = SDL_LoadBMP( "hello.bmp" );
//将图像应用到窗口上
SDL_BlitSurface( hello, NULL, screen, NULL );
//更新窗口
SDL_Flip( screen );
//暂停
SDL_Delay( 2000 );
//释放已加载的图像
SDL_FreeSurface( hello );
//退出SDL
SDL_Quit();
return 0;
}
*****
窗口有出現,但圖片沒有,想請問這是什麼問題,是代碼哪裡有錯嗎?hello.bmp檔案是跟執行檔放在同一項下,
2017年01月31日 03点01分 1
level 1
#春节表情包#
2017年01月31日 03点01分 2
level 13
你可以SDL_GetError()来看输出有没有什么错误,
2017年01月31日 03点01分 3
谢谢,我去试试
2017年01月31日 03点01分
我加了一段:if (hello == NULL) printf("SDL_LoadBMP failed: %s\n", SDL_GetError());。但什麼也沒出現,我嘗試在main開始時就加一段printf("Hello World");,也是什麼都沒出現,是使用SDL的狀況下就沒辦法打印字串還是?
2017年01月31日 04点01分
手机上不可以直接printf输出字符吧,电脑好像可以
2017年01月31日 06点01分
@辉辉游戏解说🐾 嗯,对的,手机上使用sdl就这样,你可以把错误写入到一个文件或者使用电脑
2017年01月31日 23点01分
level 5
我记得要用SDL_GetWindowSurface这个函数,在把加载的图片blit上去
2017年01月31日 06点01分 4
这样加两句试试: SDL_Surface*sur=SDL_GetWindowSurface(screen); SDL_BlitSurface(hello,NULL,sur,NULL);
2017年01月31日 06点01分
好的我去試試
2017年01月31日 07点01分
@辉辉游戏解说🐾 編譯出現error: 'SDL_GetWindowSurface' undeclared (first use in this function)|
2017年01月31日 07点01分
SDL_GetWindowSurface是SDL2的好像,你的代码没问题,我刚才试了试,可以bmp显示图片,可能是你的图片路径错了
2017年01月31日 08点01分
level 10
没这样用过、我用的是render
2017年01月31日 23点01分 5
level 13
加上控制台
2017年02月01日 00点02分 6
請問這具體是要怎麼做?
2017年02月01日 01点02分
回复 QQ2753512607 :百度吧,我记得是可以的,但是我很久没用cb了,用的是vs
2017年02月01日 01点02分
@小牛_牛sky 主要我不太理解的是所謂加上控制台的意思,是要我增添代碼還是說顯示CB的控制版面。
2017年02月01日 02点02分
@♤雨生龍之介♤ 不是添加代码,在cb的选项里。另外。不太推荐你用sdl1.x版本,现在更新了,已经是sdl 2.05了
2017年02月01日 03点02分
level 7
b站有sdl2的教程,表示很不错。
2017年02月20日 03点02分 7
level 1
这是什么问题啊,我也是,求解答
2017年03月04日 16点03分 8
1