Pygame 官方文档 - pygame.surfarray

Pygame.surfarray提供了一系列函数,如array2d、pixels2d等,用于在pygame surfaces和数组之间转换像素数据。这些函数允许直接读写Surface的像素,包括颜色通道和透明度。对于24位和32位Surface,可以创建直接引用像素值的2D或3D数组,而其他函数则用于处理特定颜色通道或透明度。
摘要由CSDN通过智能技术生成

pygame.surfarray

pygame模块用于使用数组接口访问surface像素数据
pygame.surfarray.array2d - 将像素复制到2d数组中
pygame.surfarray.pixels2d - 将像素引用到2d数组中
pygame.surfarray.array3d - 将像素复制到3d数组中
pygame.surfarray.pixels3d - 将像素引用到3d数组中
pygame.surfarray.array_alpha - 将像素alpha复制到2d数组中
pygame.surfarray.pixels_alpha - 将像素alpha引用到2d数组
pygame.surfarray.pixels_red - 将像素红色引用到2d数组
pygame.surfarray.pixels_green - 将像素绿色引用到2d数组
pygame.surfarray.pixels_blue - 将像素蓝色引用到2d数组
pygame.surfarray.array_colorkey - 将colorkey值复制到2d数组中
pygame.surfarray.make_surface - 将数组复制到新surface
pygame.surfarray.blit_array - 直接从数组值Blit
pygame.surfarray.map_array - 将3d数组映射到2d数组
pygame.surfarray.use_arraytype - 设置用于surface数组的数组系统
pygame.surfarray.get_arraytype - 获取当前活跃的数组类型
pygame.surfarray.get_arraytypes - 获取当前支持的数组系统类型

        在pygame的surfaces和数组之间转换像素数据的函数。 只有当pygame可以使用外部NumPy包时,此模块才会起作用。
        每个像素都存储为单个整数值,以表示红色,绿色和蓝色。 8位图像使用查看色彩映射的值。 具有更高深度的像素使用比特打包过程将三个或四个值放入单个数字中。
        数组首先由X轴索引,然后是Y轴。 将像素视为单个整数的数组称为2D数组。 此模块还可以将红色,绿色和蓝色值分隔为单独切片。 这些类型的数组称为3D数组,最后一个索引为0表示红色,1表示绿色,2表示蓝色。
 

pygame.surfarray.array2d()

将像素复制到2d数组中
array2d(Surface) -> array
将映射(原始)像素从Surface复制到2D数组。 surface的位深度将控制整数值的大小,并适用于任何类型的像素格式。
此函数将在复制像素时暂时锁定Surface(请参阅pygame.Surface.lock() 锁定Surface存储器以进行像素访问 - 锁定Surface存储器以获取像素访问方法)。
搜索pygame.surfarray.array2d的示例

pygame.surfarray.pixels2d()

将像素引用到2d数组中
pixels2d(Surface) -> array
创建一个直接引用Surface中像素值的新2D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
无法引用24位Surface的像素,但所有其他Surface位深度都可以。
Surface引用将在数组的生命周期内保持锁定状态(请参阅pygame.Surface.lock() 锁定Surface内存以进行像素访问 - 锁定Surface内存以获取像素访问方法)。
搜索pygame.surfarray.pixels2d的示例

pygame.surfarray.array3d()

将像素复制到3d数组中
array3d(Surface) -> array
将像素从Surface复制到3D数组。 surface的位深度将控制整数值的大小,并适用于任何类型的像素格式。
此函数将在复制像素时暂时锁定Surface(请参阅pygame.Surface.lock() 锁定Surface存储器以进行像素访问 - 锁定Surface存储器以获取像素访问方法)。
搜索pygame.surfarray.array3d的示例

pygame.surfarray.pixels3d()

将像素引用到3d数组中
pixels3d(Surface) -> array
创建一个直接引用Surface中像素值的新3D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
这仅适用于具有24位或32位格式的Surface。 不能引用较低的像素格式。
Surface引用将在数组的生命周期内保持锁定状态(请参阅pygame.Surface.lock() 锁定Surface内存以进行像素访问 - 锁定Surface内存以获取像素访问方法)。
搜索pygame.surfarray.pixels3d的示例

pygame.surfarray.array_alpha()

将像素alpha复制到2d数组中
array_alpha(Surface) -> array
将像素alpha值(透明度)从Surface复制到2D数组。 这适用于任何类型的Surface格式。 没有像素alpha的surface将返回包含所有不透明值的数组。
此函数将在复制像素时暂时锁定Surface(请参阅pygame.Surface.lock()锁定Surface存储器以进行像素访问 - 锁定Surface存储器以获取像素访问方法)。
搜索pygame.surfarray.array_alpha的示例

pygame.surfarray.pixels_alpha()

将像素alpha引用到2d数组
pixels_alpha(Surface) -> array
创建一个直接引用Surface中Alpha值(透明度)的新2D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
这只适用于具有每像素alpha值的32位Surface。
此数组引用的Surface将在数组的生命周期内保持锁定状态。
搜索pygame.surfarray.pixels_alpha的示例

pygame.surfarray.pixels_red()

将像素红色引用到2d数组
pixels_red (Surface) -> array
创建一个直接引用Surface中红色值的新2D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
这只适用于24位或32位Surface。
此数组引用的Surface将在数组的生命周期内保持锁定状态。
搜索pygame.surfarray.pixels_red的示例

pygame.surfarray.pixels_green()

将像素绿色引用到2d数组
pixels_green (Surface) -> array
创建一个直接引用Surface中绿色值的新2D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
这只适用于24位或32位Surface。
此数组引用的Surface将在数组的生命周期内保持锁定状态。
搜索pygame.surfarray.pixels_green的示例

pygame.surfarray.pixels_blue()

将像素蓝色引用到2d数组
pixels_blue (Surface) -> array
创建一个直接引用Surface中蓝色值的新2D数组。 对数组的任何更改都将影响Surface中的像素。 这是一个快速操作,因为没有数据被复制。
这只适用于24位或32位Surface。
此数组引用的Surface将在数组的生命周期内保持锁定状态。
搜索pygame.surfarray.pixels_blue的示例

pygame.surfarray.array_colorkey()

将colorkey值复制到2d数组中
array_colorkey(Surface) -> array
使用每个像素的colorkey透明度值创建一个新数组。 如果像素与colorkey匹配,则它将完全透明; 否则它将是完全不透明的。
这适用于任何类型的Surface格式。 如果图像没有colorkey,则返回固定的不透明数组。
此功能将在复制像素时临时锁定Surface。
搜索pygame.surfarray.array_colorkey的示例

pygame.surfarray.make_surface()

将数组复制到新surface
make_surface(array) -> Surface
创建一个最类似于数组上数据和格式的新Surface。 数组可以是2D或3D,具有任何大小的整数值。 函数make_surface使用数组结构接口来获取数组属性,因此不仅限于NumPy数组。 有关一般像素数组复制,请参阅pygame.pixelcopypygame模块。
pygame 1.9.2中的新功能:数组结构接口支持。
搜索pygame.surfarray.make_surface的示例

pygame.surfarray.blit_array()

直接从数组值Blit
blit_array(Surface, array) -> None
直接将数组中的值复制到Surface中。 这比将数组转换为Surface和blitting更快。 该数组必须与Surface具有相同的尺寸,并将完全替换所有像素值。 只接受整数,ASCII字符和记录数组。
复制新值时,此函数将暂时锁定Surface。
搜索pygame.surfarray.blit_array的示例

pygame.surfarray.map_array()

将3d数组映射到2d数组
map_array(Surface, array3d) -> array2d
将3D数组转换为2D数组。 这将使用给定的Surface格式来控制转换。 NumPy数组支持调色板surface格式。
搜索pygame.surfarray.map_array的示例

pygame.surfarray.use_arraytype()

设置用于surface数组的数组系统
use_arraytype (arraytype) -> None
DEPRECATED:使用模块函数请求的数组类型。 唯一受支持的数组类型是’numpy’。 其他值将引发ValueError。
搜索pygame.surfarray.use_arraytype的示例

pygame.surfarray.get_arraytype()

获取当前活跃的数组类型
get_arraytype () -> str
DEPRECATED:返回当前活跃的数组类型。 这将是get_arraytypes()元组的值,并指示用于数组创建的数组模块类型。
pygame 1.8的新特性。
搜索pygame.surfarray.get_arraytype的示例

pygame.surfarray.get_arraytypes()

获取当前支持的数组系统类型
get_arraytypes () -> tuple
DEPRECATED:检查哪些数组系统可用并将它们作为字符串元组返回。 元组的值可以直接在pygame.surfarray.use_arraytype()方法中使用。 如果找不到支持的数组系统,则返回None。
pygame 1.8的新特性。
搜索pygame.surfarray.get_arraytypes的示例
 

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

点我回顶部

 
 
 
 
 
 
Fin.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值