SDL显示图片的问题(怀疑只是我不会写路径(ノ=Д=)ノ┻━
c4droid吧
全部回复
仅看楼主
level 9
h93351 楼主
SDL显示图片的问题(怀疑只是我不会写路径(ノ=Д=)ノ┻━┻)
2018年08月15日 13点08分 1
level 9
h93351 楼主
#include <SDL2/SDL.h>
// 窗口
SDL_Window *Window = NULL;
// 窗口表面
SDL_Surface *WindowScreen = NULL;
SDL_Surface *Surface =NULL;
//初始化函数
int Init()
{
SDL_Init(SDL_INIT_VIDEO);
// 创建窗口
Window = SDL_CreateWindow("SDL_Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 240, 400, SDL_WINDOW_SHOWN);
if (Window == NULL)
return -1;
// 获取Window的表面
WindowScreen = SDL_GetWindowSurface(Window);
if (WindowScreen == NULL)
return -2;
return 0;
}
//清理函数
void Destroy()
{
SDL_FreeSurface(WindowScreen);
SDL_DestroyWindow(Window);
SDL_Quit();
}
int LoadSurface()
{
//加载图片 (BMP格式)
Surface = SDL_LoadBMP("./picture.bmp");
if (Surface == NULL)
return -1;
return 0;
}
int main(int args, char *argv[])
{
if (Init() != 0)
return -1;
//加载图片
if (LoadSurface() != 0)
return -2;
//粘贴表面
SDL_BlitScaled(Surface, NULL, WindowScreen, NULL);
//更新窗口
SDL_UpdateWindowSurface(Window);
SDL_Delay(4000);
Destroy();
return 0;
}
2018年08月15日 13点08分 2
level 9
h93351 楼主
……按教程打的,编译也通过了,可是运行直接黑屏闪退
2018年08月15日 13点08分 3
level 9
h93351 楼主
SDL_BMP函数怎么用啊,是不是我打开的方式不对😁
2018年08月15日 13点08分 4
图片放在哪了?
2018年08月15日 15点08分
storage/emulated/0/游戏分区/draw/picture.bmp
2018年08月15日 23点08分
我整个打上开也一样
2018年08月15日 23点08分
2018年08月15日 23点08分
level 7
[滑稽]
2018年08月15日 13点08分 5
???[黑线]
2018年08月15日 13点08分
@h93351 我也不会sdl[滑稽]
2018年08月15日 15点08分
level 5
多了一个点.
2018年08月16日 06点08分 6
level 5
地址是绝对路径/前面不需要点.
2018年08月16日 06点08分 7
不打点也一样……
2018年08月16日 07点08分
level 9
h93351 楼主
2018年08月16日 07点08分 8
level 9
h93351 楼主
这样放没错吧[紧张]
2018年08月16日 15点08分 10
代码没有问题,如果在同一目录的话只需要写图片名就可以了,Surface = SDL_LoadBMP("picture.bmp");
2018年08月17日 01点08分
@阿呆呀🙈 改成这样了,还是黑屏闪退
2018年08月17日 04点08分
@h93351 那是不是你没有安装SDL插件呢,或者是没安装好,尝试重新安装一下
2018年08月17日 15点08分
回复 帅气迷人的阿呆 :好了,现在可以了
2018年08月17日 23点08分
level 9
h93351 楼主
…我用IMG_load 打开了
2018年08月17日 04点08分 11
说明你的bmp是假的
2018年08月17日 12点08分
[滑稽]
2018年08月17日 23点08分
level 3
可以教我怎么下载中文版吗
2018年08月17日 16点08分 12
@h93351 谢谢
2018年08月20日 09点08分
1