pygame功能--pygame.BufferProxy导出surface缓冲区

pygame.BufferProxy

对象,通过数组协议导出表面缓冲区
BufferProxy() -> BufferProxy


pygame.BufferProxy.parent
返回包装好的导出对象。
pygame.BufferProxy.length
输出缓冲区的大小(以字节为单位)。
pygame.BufferProxy.raw
作为单个字节块的输出缓冲区的副本。
pygame.BufferProxy.write
将原始字节写入对象缓冲区。

BufferProxy是一种pygame支持类型,设计为Surface.get_buffer()和Surface.get_view()方法的返回值。
对于所有的Python版本,BufferProxy对象代表其父对象的缓冲区导出一个C结构体和Python级别的数组接口。
对于CPython 2.6及以后版本,还导出了一个新的缓冲区接口。
在pygame中,BufferProxy是实现pygame的关键。
Surfarraypygame模块使用阵列接口模块访问表面像素数据。
BufferProxy实例可以直接从Python代码创建,可以为导出接口的父类创建,也可以从描述对象缓冲区布局的Python字典创建。
字典项基于Python级数组接口映射。
可以识别下列键:
“shape” : tuple
每个数组维的长度为整数元组。元组的长度是数组中的维数。
“typestr” : string
数组元素类型为长度为3的字符串。第一个字符给出字节顺序,’<‘表示小端序,’>‘表示大端序,’|'表示不适用。第二个字符是元素类型,'i’表示有符号整数,'u’表示无符号整数,'f’表示浮点数,'V’表示字节块。第三个字符给出了元素的字节大小,从’1’到’9’字节。因此,例如,“<u4”是一个无符号的4字节小端整数,例如PC上的一个32位像素,而“|V3”将表示一个24位像素,它没有等效的整数。
“data” : tuple
物理缓冲区起始地址和一个作为长度2元组的只读标志。地址是一个整数值,而只读标志是一个布尔- false表示可写,True表示只读。
“strides” : tuple : (optional)
数组以整数元组的形式跨越信息。只有非c连续数组才需要它。元组长度必须与“shape”匹配。
“parent” : object : (optional)
出口对象。当父对象的缓冲区可见时,它可以用来保持父对象的活动状态。
“before” : callable : (optional)
在BufferProxy实例导出缓冲区时调用的回调。回调函数有一个参数,如果有则是“父”对象,否则为None。回调对于设置父对象上的锁很有用。
“after” : callable : (optional)
释放导出缓冲区时调用的回调函数。回调函数通过参数传递,如果给定则是“父”对象,否则为None。回调对于释放父类上的锁很有用。
BufferProxy类支持子类化、实例变量和弱引用。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值