作者:empty 出版社:empty |
pygame.Buffer Proxy.write() 一Write raw bytes to object buffer.Buffer Proxy是Pygame支持的一种类型, 用于作为Surface.get_buffer) 和Surface.get_view() 方法的返回值。对于所有版本的Python, Buffer Proxy对象输出一个C结构和Python级别的数组接代表其父对象的缓冲区,对于CPython 2.6及以后版本, 使用了一个新的缓冲区接输出, 在P game中, Buffer Proxy是实现surf arra模块(用于通过数组接访问Surface对象的像素数据) 的关键,Buffer Proxy实例可以直接通过Python代码实现, 但无论是作为父对象输出的接, 或者Python字典描述的缓冲区布局, 该实例(所有的字典项目均基于Python级别的数组接映射方式) 均包含以下键:
覆盖写入父对象中的字节数据。数据必须是连续的C或F, 否则将抛出ValueError异常,buffer参数是str或bytes对象,可选参数offset指定缓冲区内开始覆盖的起始偏移位置, 以字节为单位。如果偏移量为负数或大于等于缓冲区的尺寸, 将抛出Index Exception异常,如果len(buffer) >proxy.length+offset, 将抛出ValueError异常.1.元祖中每个元素表示数组每个维度的长度2.元祖的长度表示数组的维数用3个字符的字符串来描述数组元素的类型:--第1个字符表示字节顺序:' '表示小端;'>'表示大端;中表示不适用--第2个字符表示元素的类型:P表示带符号整形;'u'表示无符号整形;'f表示浮点型;'V'表示字节块--第3个字符表示每个元素的字节数:1~9个字节例如:* u4 表示无符号4个字节的小端整数,通常是32位像素的电脑;而“|V3 则表示24位像素(但没有对应的整数)用一个2元祖表示物理缓冲区的起始地址和只读标志:起始地址是整型值,而只读标志是布尔类型(False表示可写入, True表示只读)描述步进的信息, 需要非C的相邻数组, 但该元祖的长度必须与'shape”相匹配输出对象,用于保持当缓冲区可见时父对象存活1.指定当Buffer Proxy实例输出缓冲区时的回调函数2.如果指定‘parent 对象, 该回调函数作为参数传递, 否则参数为None3.该回调函数对设置父对象锁有用1.指定当Buffer Proxy实例输出缓冲区被释放时的回调函数2.如果指定‘parent 对象, 该回调函数作为参数传递, 否则参数为None3.该回调函数对释放父对象锁有用