pygame中image模块方法详解

目录

pygame.image.load()

pygame.image.save()

pygame.image.get_extended()

pygame.image.tostring()

pygame.image.fromstring()

pygame.image.frombuffer()


pygame.image.load()

功能:从文件加载新图像

属性:

  • load(filename) -> Surface
  • load(fileobj, namehint="") -> Surface
  1. 从文件源加载图像。可以传递文件名或类似Python文件的对象。
  2. Pygame将自动确定图像类型(如GIF或位图),并根据数据创建一个新的Surface对象。在某些情况下,它需要知道文件扩展名(例如,GIF图像应该以".gif"结尾)。如果传递一个类似原始文件的对象,则可能还需要传递原始文件名作为namehint参数。
  3. 返回的Surface将包含与其源文件相同的颜色格式、colorkey和alpha透明度。经常可以不带参数调用Surface.convert(),以更快速在屏幕上创建绘制的副本。
  4. 对于alpha透明度,如在.png图像中,在加载后使用convert_alpha()方法使图像具有每像素透明度。
  5. Pygame并不总是支持所有的图像格式,至少支持未压缩的BMP。如果pygame.image.get_extended()返回“True”,应该能够加载大多数图像(包括PNG、JPG和GIF)。
  6. 为了兼容操作系统应该用os.path.join()。【eg. asurf = pygame.image.load(os.path.join('data', 'bla.png'))】
  7. 可以使用PIC.rect【PIC = pygame.image.load()】 访问图像尺寸。

pygame.image.save()

功能:将图像保存到磁盘

属性:save(Surface, filename) -> None

这会将您的曲面保存为BMPTGAPNG, or JPEG图像。如果无法识别文件扩展名,则默认为TGATGABMP文件格式都会创建未压缩的文件。

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

  1. 创建一个字符串,可以在其他Python映像包中使用'fromstring'方法进行传输。一些Python图像包更喜欢使用bottom-to-top的格式(例如PyOpenGL)。如果为翻转参数传递True,则字符串缓冲区将垂直翻转。
  2. format参数是字符串的下列值之一。请注意,只有8位Surface可以使用“P”格式。其他格式适用于任何Surface。其他Python图像包支持比pygame更多的格式。
  • P, 8-bit palettized Surfaces ( 8位调色板Surface)
  • RGB, 24-bit image
  • RGBX, 32-bit image with unused space
  • RGBA, 32-bit image with an alpha channel
  • ARGB, 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

  1. 此函数接受的参数类似于pygame.image.tostring()。size参数是表示宽度和高度的数字对。创建新曲面后,可以销毁字符串缓冲区。
  2. size 和 format图像必须经精确计算保证与传递的字符串缓冲区的大小完全相同。否则将引发异常。
  3.  pygame.image.frombuffer() 是一种可能更快地将图像传输到pygame的方法。

pygame.image.frombuffer()

功能:在字符串缓冲区内创建一个共享数据的新Surface 

属性:frombuffer(string, size, format) -> Surface

创建直接从字符串缓冲区共享像素数据的新曲面。此方法采用的参数与 pygame.image.fromstring()一致,但无法垂直翻转源数据。

因为不必分配和复制像素数据,比 pygame.image.fromstring()方法运行快。

 

 

 

整理自:https://www.pygame.org/docs/ref/image.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值