-
pygame.surfarray
- pygame module for accessing surface pixel data using array interfaces
— Copy pixels into a 2d array — Reference pixels into a 2d array — Copy pixels into a 3d array — Reference pixels into a 3d array — Copy pixel alphas into a 2d array — Reference pixel alphas into a 2d array — Copy red pixels into a 2d array — Reference pixel red into a 2d array. — Copy green pixels into a 2d array — Reference pixel green into a 2d array. — Copy blue pixels into a 2d array — Reference pixel blue into a 2d array. — Copy the colorkey values into a 2d array — Copy an array to a new surface — Blit directly from a array values — Map a 3d array into a 2d array — Sets the array system to be used for surface arrays — Gets the currently active array type. — Gets the array system types currently supported. 用于在NumPy数组和Surface对象之间进行转换的函数。这个模块只有在PYGAME可以使用外部NumPy包的情况下才能使用。如果无法导入NumPy,
surfarray
成为一名MissingModule
对象。每个像素都存储为表示红色、绿色和蓝色的单个整数值。8位图像使用一个可以查看色彩映射表的值。深度较高的像素使用位打包过程将三个或四个值放入单个数字中。
这些数组由
X
首先是轴,然后是Y
轴心。将像素视为单个整数的数组称为二维数组。此模块还可以将红色、绿色和蓝色的颜色值分离为单独的索引。这些类型的数组称为3D数组,最后一个索引为0表示红色,1表示绿色,2表示蓝色。返回的二维数组的像素
array2d()
和pixels2d()
被映射到特定的表面。使用pygame.Surface.unmap_rgb()
convert a mapped integer color value into a Color 要转换为颜色,请使用pygame.Surface.map_rgb()
convert a color into a mapped color value 以获取颜色的曲面特定像素值。整型像素值只能在具有匹配像素布局的表面之间直接使用(请参见pygame.Surface
pygame object for representing images )。所有引用数组的函数都会将曲面信息复制到新的NumPy数组中。引用“像素”的所有函数将直接引用曲面中的像素,对数组执行的任何更改都将在曲面中进行更改。由于最后一个函数与Surface共享内存,因此此函数将在数组的生命周期内被锁定。
- pygame.surfarray.array2d()¶
- Copy pixels into a 2d arrayarray2d(Surface) -> array
复制
mapped
(原始)从曲面到2D数组的像素。曲面的位深度将控制整数值的大小,并适用于任何类型的像素格式。此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。
- pygame.surfarray.pixels2d()¶
- Reference pixels into a 2d arraypixels2d(Surface) -> array
创建直接参照曲面中的像素值的新的二维数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
不能引用来自24位Surface的像素,但可以引用所有其他Surface位深度。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array3d()¶
- Copy pixels into a 3d arrayarray3d(Surface) -> array
将像素从Surface复制到3D数组中。曲面的位深度将控制整数值的大小,并适用于任何类型的像素格式。
此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。
- pygame.surfarray.pixels3d()¶
- Reference pixels into a 3d arraypixels3d(Surface) -> array
创建直接引用Surface中的像素值的新3D数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
这将仅适用于具有24位或32位格式的曲面。不能引用较低的像素格式。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array_alpha()¶
- Copy pixel alphas into a 2d arrayarray_alpha(Surface) -> array
将像素Alpha值(透明度)从曲面复制到2D数组中。这将适用于任何类型的曲面格式。没有像素Alpha的曲面将返回一个具有所有不透明值的数组。
此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。
- pygame.surfarray.pixels_alpha()¶
- Reference pixel alphas into a 2d arraypixels_alpha(Surface) -> array
创建直接参照曲面中的Alpha值(透明度)的新2D数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
这仅适用于具有每像素Alpha值的32位曲面。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array_red()¶
- Copy red pixels into a 2d arrayarray_red(Surface) -> array
将像素红色值从曲面复制到2D数组中。这将适用于任何类型的曲面格式。
此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。New in pygame 2.0.2.
- pygame.surfarray.pixels_red()¶
- Reference pixel red into a 2d array.pixels_red (Surface) -> array
创建直接参照曲面中的红色值的新二维数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
这仅适用于24位或32位曲面。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array_green()¶
- Copy green pixels into a 2d arrayarray_green(Surface) -> array
将像素绿色值从曲面复制到2D数组中。这将适用于任何类型的曲面格式。
此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。New in pygame 2.0.2.
- pygame.surfarray.pixels_green()¶
- Reference pixel green into a 2d array.pixels_green (Surface) -> array
创建直接参照曲面中的绿色值的新二维数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
这仅适用于24位或32位曲面。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array_blue()¶
- Copy blue pixels into a 2d arrayarray_blue(Surface) -> array
将像素蓝值从曲面复制到2D数组中。这将适用于任何类型的曲面格式。
此功能将在复制像素时临时锁定Surface(请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -针对像素访问方法锁定Surface Memory)。New in pygame 2.0.2.
- pygame.surfarray.pixels_blue()¶
- Reference pixel blue into a 2d array.pixels_blue (Surface) -> array
创建直接参照曲面中的蓝色值的新二维数组。对数组的任何更改都会影响Surface中的像素。这是一个快速操作,因为不复制任何数据。
这仅适用于24位或32位曲面。
此引用的Surface在数组的生存期内将保持锁定,因为此函数生成的数组与Surface共享内存。请参阅
pygame.Surface.lock()
lock the Surface memory for pixel access -锁定像素访问方法的表面内存。
- pygame.surfarray.array_colorkey()¶
- Copy the colorkey values into a 2d arrayarray_colorkey(Surface) -> array
使用每个像素的Colorkey透明度值创建一个新数组。如果像素与Colorkey匹配,则它将是完全透明的;否则将是完全不透明的。
这将适用于任何类型的Surface格式。如果图像没有Colorkey,则返回纯色不透明数组。
此功能将在复制像素时临时锁定曲面。
- pygame.surfarray.make_surface()¶
- Copy an array to a new surfacemake_surface(array) -> Surface
创建与阵列上的数据和格式最相似的新曲面。该数组可以是具有任意大小整数值的2D或3D。函数Make_Surface使用数组结构接口来获取数组属性,因此不仅限于NumPy数组。看见
pygame.pixelcopy
pygame module for general pixel array copying 。PYGAME 1.9.2的新特性:数组结构接口支持。
- pygame.surfarray.blit_array()¶
- Blit directly from a array valuesblit_array(Surface, array) -> None
将数组中的值直接复制到曲面中。这比将数组转换为曲面并进行点阵处理更快。该数组的维度必须与Surface相同,并且将完全替换所有像素值。仅接受整数、ASCII字符和记录数组。
此功能将在复制新值时临时锁定曲面。
- pygame.surfarray.map_array()¶
- Map a 3d array into a 2d arraymap_array(Surface, array3d) -> array2d
将3D数组转换为2D数组。这将使用给定的Surface格式来控制转换。NumPy数组支持调色板表面格式。
- pygame.surfarray.use_arraytype()¶
- Sets the array system to be used for surface arraysuse_arraytype (arraytype) -> None
已弃用:对模块函数使用请求的数组类型。唯一受支持的数组类型是
'numpy'
。其他值将引发ValueError。使用此函数将引发DeprecationWarning
。
- pygame.surfarray.get_arraytype()¶
- Gets the currently active array type.get_arraytype () -> str
已弃用:返回当前活动的数组类型。这将是
get_arraytypes()
元组,并指示使用哪种类型的数组模块创建数组。使用此函数将引发DeprecationWarning
。New in pygame 1.8.
- pygame.surfarray.get_arraytypes()¶
- Gets the array system types currently supported.get_arraytypes () -> tuple
已弃用:检查可用的数组系统,并将它们作为字符串元组返回。元组的值可以直接在
pygame.surfarray.use_arraytype()
Sets the array system to be used for surface arrays ()方法。如果找不到支持的阵列系统,则不会返回任何内容。使用此函数将引发DeprecationWarning
。New in pygame 1.8.
Edit on GitHub