目录
pygame.image.load
()
功能:从文件加载新图像
属性:
- load(filename) -> Surface
- load(fileobj, namehint="") -> Surface
- 从文件源加载图像。可以传递文件名或类似Python文件的对象。
- Pygame将自动确定图像类型(如GIF或位图),并根据数据创建一个新的Surface对象。在某些情况下,它需要知道文件扩展名(例如,GIF图像应该以".gif"结尾)。如果传递一个类似原始文件的对象,则可能还需要传递原始文件名作为namehint参数。
- 返回的Surface将包含与其源文件相同的颜色格式、colorkey和alpha透明度。经常可以不带参数调用
Surface.convert()
,以更快速在屏幕上创建绘制的副本。 - 对于alpha透明度,如在.png图像中,在加载后使用
convert_alpha()
方法使图像具有每像素透明度。 - Pygame并不总是支持所有的图像格式,至少支持未压缩的BMP。如果
pygame.image.get_extended()
返回“True”,应该能够加载大多数图像(包括PNG、JPG和GIF)。 - 为了兼容操作系统应该用
os.path.join()
。【eg. asurf = pygame.image.load(os.path.join('data', 'bla.png'))】 - 可以使用PIC.rect【PIC = pygame.image.load()】 访问图像尺寸。
pygame.image.save
()
功能:将图像保存到磁盘
属性:save(Surface, filename) -> None
这会将您的曲面保存为BMP
, TGA
, PNG
, or JPEG
图像。如果无法识别文件扩展名,则默认为TGA
。TGA
和BMP
文件格式都会创建未压缩的文件。
New in pygame 1.8: Saving PNG and JPEG files.
pygame.image.
get_extended
()
功能:测试是否可以加载扩展图像格式
属性:get_extended() -> bool
如果pygame是使用扩展图像格式构建的,则此函数将返回True。仍然无法确定哪些格式可用,但通常可以全部加载。
pygame.image.
tostring
()
功能:将图像传输到字符串缓冲区
属性:tostring(Surface, format, flipped=False) -> string
- 创建一个字符串,可以在其他Python映像包中使用'fromstring'方法进行传输。一些Python图像包更喜欢使用bottom-to-top的格式(例如PyOpenGL)。如果为翻转参数传递True,则字符串缓冲区将垂直翻转。
- format参数是字符串的下列值之一。请注意,只有8位Surface可以使用“P”格式。其他格式适用于任何Surface。其他Python图像包支持比pygame更多的格式。
P
, 8-bit palettized Surfaces ( 8位调色板Surface)RGB
, 24-bit imageRGBX
, 32-bit image with unused spaceRGBA
, 32-bit image with an alpha channelARGB
, 32-bit image with alpha channel first (alpha通道有先的32位图像)RGBA_PREMULT
, 32-bit image with colors scaled by alpha channel (32位图像,颜色按alpha通道缩放)ARGB_PREMULT
, 32-bit image with colors scaled by alpha channel, alpha channel first
pygame.image.
fromstring
()
功能:从字符串缓冲区创建新Surface
属性:fromstring(string, size, format, flipped=False) -> Surface
- 此函数接受的参数类似于
pygame.image.tostring()。
size参数是表示宽度和高度的数字对。创建新曲面后,可以销毁字符串缓冲区。 - size 和 format图像必须经精确计算保证与传递的字符串缓冲区的大小完全相同。否则将引发异常。
-
pygame.image.frombuffer()
是一种可能更快地将图像传输到pygame的方法。
pygame.image.
frombuffer
()
功能:在字符串缓冲区内创建一个共享数据的新Surface
属性:frombuffer(string, size, format) -> Surface
创建直接从字符串缓冲区共享像素数据的新曲面。此方法采用的参数与 pygame.image.fromstring()
一致,但无法垂直翻转源数据。
因为不必分配和复制像素数据,比 pygame.image.fromstring()
方法运行快。