Pygame 官方文档 - pygame.pixelcopy

pygame.pixelcopy

pygame模块用于通用的像素数组复制
pygame.pixelcopy.surface_to_array - 将surface像素复制到数组对象
pygame.pixelcopy.array_to_surface - 将数组对象复制到surface
pygame.pixelcopy.map_array - 使用surface格式将数组复制到另一个数组
pygame.pixelcopy.make_surface - 将数组复制到新surface

        pygame.pixelcopy模块包含用于在surface和导出数组结构接口的对象之间进行复制的函数。 它是pygame.surfarray的后端,添加了NumPy支持。 但pixelcopy更为通用,旨在直接使用。
        数组结构接口以标准方式公开数组的数据。 它是在NumPy中引入的。 在Python 2.7及更高版本中,它被新的缓冲区协议所取代,尽管缓冲区协议仍在进行中。 另一方面,数组结构接口是稳定的,适用于早期的Python版本。 所以现在数组结构接口是pygame处理数组内省(introspection)的主要方式。
pygame 1.9.2中的新功能。
 

pygame.pixelcopy.surface_to_array()

将surface像素复制到数组对象
surface_to_array(array, surface, kind=‘P’, opaque=255, clear=0) -> None
        surface_to_array函数将像素从Surface对象复制到2D或3D数组。根据参数类型和目标数组维度,副本可以是原始像素值,RGB,颜色分量切片或颜色键alpha透明度值。公认的种类值是单个字符代码’P’,‘R’,‘G’,‘B’,‘A’和’C’。种类代码不区分大小写,因此’p’相当于’P’。目标的前两个维度必须是表面尺寸(w,h)。
        默认的’P’种类代码将直接原始整数像素(映射)值复制到2D数组列,并将’RGB’像素分量(未映射)复制到具有形状(w,h,3)的3D阵列。对于8位色图surface,这意味着表格索引被复制到2D数组,而不是表格值本身。 2D数组的项大小必须至少与surface的像素字节大小一样大。 3D数组的项大小必须至少为一个字节。
        对于’R’,‘G’,'B’和’A’副本种类,未映射表面像素的单个颜色分量被复制到目标2D数组。对于类型’A’和具有源alpha的表面(surface是使用SRCALPHA标志创建的),有一个colorkey(使用Surface.set_colorkey()设置),或者有一个blanket alpha(使用Surface.set_alpha()设置)然后alpha值是SDL表面预期的值。如果surface没有明确的alpha值,则目标数组将填充可选的不透明的surface_to_array参数的值(默认值为255:不透明)。
        副本类型’C’是使用colorkey对源surface进行alpha复制的特殊情况。与’A’颜色分量副本不同,clear参数值用于colorkey匹配,否则为opaque。默认情况下,匹配具有alpha 0(完全透明),而其他所有内容都是alpha 255(完全不透明)。它是pygame.surfarray.array_colorkey()的更通用的实现。将colorkey值复制到2d数组中。
        特定于surface_to_array,针对具有不正确形状或项大小的目标数组引发ValueError。针对错误的种类代码引发TypeError。surface特定的问题,例如锁定,会引发pygame.error。
搜索pygame.pixelcopy.surface_to_array的示例

pygame.pixelcopy.array_to_surface()

将数组对象复制到surface
array_to_surface(, ) -> None
请参阅pygame.surfarray.blit_array()
搜索pygame.pixelcopy.array_to_surface的示例

pygame.pixelcopy.map_array()

使用surface格式将数组复制到另一个数组
map_array(, , ) -> None
根据的格式将颜色元素值数组 - (w,h,…,3)映射到像素数组 - (w,h)。
搜索pygame.pixelcopy.map_array的示例

pygame.pixelcopy.make_surface()

将数组复制到新surface
pygame.pixelcopy.make_surface(array) -> Surface
创建一个最类似于数组数据和格式的新Surface。 数组可以是2D或3D,具有任何大小的整数值。
搜索pygame.pixelcopy.make_surface的示例
 

以上文档,自己翻译,可能有误,可参考:pygame.pixelcopy

点我回顶部

 
 
 
 
 
 
Fin.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值