上一篇说的是基本的SDL入门以及如何进行bmp文件的装载和优化,下面学习的是如何进行如jpg,png等其他图片格式文件的处理(因为SDL仅显示支持bmp的装载):
几种基本的图片格式介绍
TGA
图像文件,此文件格式的结构比较简单,属于一种图形,图像数据的通用格式,在多媒体领域有着很大影响,是计算机生成图像向电视转换的一种首选格式。TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了!TGA格式支持压缩,使用不失真的压缩算法。
BMP
PNM
.pbm 便携位图文件
.pgm 256灰度的编写灰度图
.ppm 全色调的编写像素图
XPM
X11(X Window系统是一种位图显示的视窗系统,为GUI环境提供了基本框架)图形,以.xpm结尾,能够直接以#include包含在代码块中
XCF
GIMP(GUN图像处理程序)的本地图像文件,这种格式是一直在变化的,并且由于没有提供给GIMP装载XCF文件的库,所以最好是用GIMP装载了这种文件以后将其用其他图片格式表示出来
PCX
IBM个人电脑画笔(IBM PC Paintbrush)支持的零包文件(Zsoft)格式
GIF
可交换图像文件格式,相信不会陌生了,是一种基于LZW(一种通用无损压缩算法)的连续色调的无损压缩格式,其压缩率一般在50%左右,它不属于任何应用程序,目前机会所有的相关软件都支持它,其图像深度从1bit到8bit,也即GIF最多支持256种色彩的图像。
JPG
联合摄影专家组的图像文件格式(Joint Photographic Experts Group JFIFformat),以.jpg或者.jpeg结尾
TIF
TIFF是一种比较灵活的图像格式,它的全称是Tagged Image FileFormat,文件扩展名为TIF或TIFF。该格式支持256色、24位真彩色、32位色、48位色等多种色彩位,同时支持RGB、CMYK以及YCbCr等多种色彩模式,支持多平台。TIFF文件可以是不压缩的,文件体积较大,也可以是压缩的,支持RAW、RLE、LZW、JPEG、 CCITT3组和4组等多种压缩方式。
LBM
交叉位图格式(Interleaved Bitmap)
PNG
可移植的网络图像文件(Protaable Network Graphics)
如何装载其它图片格式的文件
A在装载png、tga、jpg和bmp类型的文件的时候,只需要采用原来的方式使用SDL_Loadxxx(xxx代表文件类型)就可以实现了,如下可以装载前面的bmp转化而来的jpg文件
B在装载动态图像的时候,可以首先建立一个SDL_RWops类型的图像文件,然后使用SDL_RWFFormFile来装载目标图片成为RWops文件,最后使用IMG_Loadxxx(待装载的文件类型)来装载REOPS来成为Surface即可,下面是装载GIF的例子: