SDL Game Development-第2章-4.使用SDL_image库操作更多格式的图片

[复制链接]

该用户从未签到

2380

主题

2433

帖子

9139

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9139
QQ
跳转到指定楼层
楼主
发表于 2017-12-19 09:38:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

想要查看内容赶紧注册登陆吧!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
原作中对图片的翻转Flip略,只是将纹理复制函数换成SDL_RenderCopyEx()即可。

一、下载并设置SDL_image
SDL_image的下载地址:http://www.libsdl.org/projects/SDL_image/
将.h和lib中的内容复制到Code::Blocks指向的默认路径中,或显式指向也行。

为Linker指明参数,如图:

二、使用SDL_image
1.将素材包中的animate.png复制到assets文件夹中。png格式的图片有alpha通道,可以产生透明效果
2.修改背景为深蓝色:0x0, 0x0, 0x66, 0xFF
3.添加包含语句
  1. //Game.cpp中
  2. #include <SDL_image.h>
复制代码
4.载入图片的代码修改为:
  1. SDL_Surface* pTempSurface = IMG_Load("assets/animate.png");
复制代码
测试运行:深蓝的背景上,黑底的角色在跑动。
注:素材中的png图片以黑色为底,如果用PS把黑色处理掉,就可以透明了。这在素材包中是另一个图片,叫animate-alpha.png

5.修改载入的图片为:
  1. SDL_Surface* pTempSurface = IMG_Load("assets/animate-alpha.png");
复制代码

运行测试:
注意输出中:
libpng warning: iCCP: known incorrect sRGB profile
这个警告讯息怎么也去不掉,不知哪位高手指点,谢。
分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

快速回复高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表