pygame.BufferProxy
pygame object to export a surface buffer through an array protocol
BufferProxy(<parent>) -> BufferProxy
— Return wrapped exporting object.
— The size, in bytes, of the exported buffer.
— A copy of the exported buffer as a single block of bytes.
— Write raw bytes to object buffer.

BufferProxy 是一种pyGame支持类型,设计为 Surface.get_buffer() 和 Surface.get_view() 方法:研究方法。对于所有的Python版本 BufferProxy 对象代表其父对象的缓冲区导出C结构和Python级别的数组接口。还会导出一个新的缓冲区接口。在电子游戏中, BufferProxy 是实现 pygame.surfarraypygame module for accessing surface pixel data using array interfaces 模块。

BufferProxy 可以直接从Python代码创建实例,既可以为导出接口的父级创建实例,也可以从Python代码创建实例 dict 描述对象的缓冲区布局。DICT条目基于Python级别数组接口映射。以下密钥是可识别的:

"shape"元组

以整数元组形式表示的每个数组维度的长度。元组的长度是数组中的维数。

"typestr"字符串

数组元素类型为长度为3的字符串。第一个字符表示字节顺序,‘<’表示小端,‘>’表示大端,‘|’表示不适用。第二个字符是元素类型,‘i’表示有符号整数,‘u’表示无符号整数,‘f’表示浮点数,‘V’表示字节块。第三个字符给出元素的字节大小,从‘1’到‘9’字节。因此,例如,“<u4”是一个无符号的4字节小端整数,例如PC上的32位像素,而“V3”表示一个24位像素,它没有整数等效项。

"data"元组

物理缓冲器起始地址和作为长度为2的元组的只读标志。地址是整数值,而只读标志是bool-False``表示可写, ``True 只读。

"strides"元组(可选)

整数元组形式的数组步距信息。它只对非C连续数组是必需的。元组长度必须与的匹配 "shape" 。

"parent"对象(可选)

导出对象。它可用于在父对象的缓冲区可见时保持父对象处于活动状态。

"before"可调用(可选)

时调用的回调 BufferProxy 实例导出缓冲区。回调被赋予一个参数,即 "parent" 对象,如果给定,则为 None 。回调对于在父级上设置锁很有用。

"after"可调用(可选)

释放导出的缓冲区时调用的回调。回调是通过参数传递的, "parent" 对象,否则为None。回调对于释放父级上的锁很有用。

BufferProxy类支持子类化、实例变量和弱引用。

New in pygame 1.8.0.

Extended in pygame 1.9.2.

parent
Return wrapped exporting object.
parent -> Surface
parent -> <parent>

这个 Surface 它返回了 BufferProxy 对象或传递给 BufferProxy 打电话。

length
The size, in bytes, of the exported buffer.
length -> int

导出的有效数据字节数。对于不连续的数据,即不是单个存储器块的数据,间隙内的字节被排除在计数之外。此属性等效于 Py_buffer C结构 len 田野。

raw
A copy of the exported buffer as a single block of bytes.
raw -> bytes

将缓冲区数据作为 str/bytes 对象。将删除导出数据中的所有间隙。

write()
Write raw bytes to object buffer.
write(buffer, offset=0)

覆盖父对象数据中的字节。数据必须是C或F连续的,否则将引发ValueError。论据 buffer 是一种 str/bytes 对象。可选的偏移量提供缓冲区内开始覆盖的开始位置(以字节为单位)。如果偏移量为负或大于或等于缓冲区代理的 length 价值,一个 IndexException 都被养大了。如果 len(buffer) > proxy.length + offset ,a ValueError 都被养大了。




Edit on GitHub