2.7 图片加载
pygame.image模块提供了一些与图片加载、保存、转换等相关的功能,下面只介绍最常用的图片加载功能。
图片加载所使用的函数为
该函数已经在前文出现过多次,下面详细介绍一下。
该函数中的参数filename代表待加载图片的文件名称,可以是绝对路径,也可以是相对路径,如果是相对路径,则默认基于当前工作目录,其返回值是一个Surface对象,代表该image所在的Surface。image surface可以保留与原始图片文件相同的像素格式,这通常与屏幕display surface的像素格式是不一致的,因此最好在加载图片文件后调用convert()或convert_alpha()函数把图片Surface转换为与屏幕Surface相同的像素格式,这样做有利于程序的性能。由于load()函数的返回值是Surface对象,因此可以在load()函数后直接调用Surface类的convert()或convert_alpha()方法。
就像前文已经介绍过的
由于加载后的图片是Surface对象,因此可以对其进行一系列Surface操作,如把图像Surface blit到屏幕Surface、获取图像Surface所在的矩形区域、获取图像的尺寸、在图像Surface上绘图或添加文字等。
下面介绍load()函数支持的图片格式。
load()函数并不能保证总是可以支持所有图片格式,其默认只支持未经压缩的bmp格式的图片,这取决于Pygame包是否提供了对图片格式的全部支持。为保险起见,在使用load()函数前,需要事先调用get_extended()函数,以查看Pygame对扩展图片格式的支持情况。
这也是pygame.image模块提供的一个函数,用来查看Pygame对扩展图片格式的支持情况,如果Pygame支持扩展图片格式,则返回True,否则返回False。
Pygame支持的扩展图片格式包含JPG、PNG、GIF(不包含动画)、PCX、TGA(未经压缩)、TIF、LBM、PBM、PGM、PPM、XPM格式。