有了使用SDL2 & SDL2_image显示bmp,png的经验,我们这次来显示JPG图片,修改代码如下(完整代码参考https://blog.csdn.net/u011734326/article/details/90635059):
SDL_RWops *dst = SDL_RWFromFile("1.JPG", "rb");
if(dst == NULL){
printf("SDL_RWFromFile failed\n");
return;
}
sur = IMG_LoadJPG_RW(dst);
if(sur == NULL){
printf("load jpg failed\n");
printf("E:%s\n",SDL_GetError());
return;
}
编译,报出如下错误:
JPEG images are not supported
怀疑是缺少了处理JPEG格式的库,于是,进入SDL_image源码目录中,执行./configure
可以看出,缺少jpeg库。
下载jpeg库:
http://libjpeg.sourceforge.net
编译安装jpeg:
./configure --enable-shared
make
make install
再次进入SDL_image源码目录,执行./configure
至此, jpeg库安装成功。
再次编译代码, 执行,成功加载jpg图片,效果如下: