该模块提供一个可用于创建位图、可发送到显示器的通用帧缓冲区。
帧缓冲区类提供一个像素缓冲区,此缓冲区可使用像素、线、矩形、椭圆、多边形、文本甚至其他帧缓冲区来绘制。此缓冲区可在生成显示器输出时发挥作用。
例如:
buffer缓冲区是一个带有缓冲区协议的对象,且其大小须足以容纳由宽度、高度和帧缓冲区定义的每个像素。
width为以像素为单位的帧缓冲区的宽度
width为以像素为单位的帧缓冲区的高度
format指定在FrameBuffer中使用的像素类型;允许的值列在下面的常量下。这些设置了用于编码颜色值的位数以及这些位在buffer中的布局。在将颜色值c传递给方法的地方,c是一个小整数,其编码依赖于FrameBuffer的格式。
stride是FrameBuffer中每个像素水平线之间的像素数。默认为width,但在另一个较大的FrameBuffer或屏幕中实现FrameBuffer时可能需要调整。buffer的大小必须适应增加的步长。
必须指定有效的*buffer*、width、height、format*和可选的*stride。无效的*缓冲区*大小或维度可能导致意外错误。
下面的方法将形状绘制到FrameBuffer上。
使用指定颜色填满整个帧缓冲区。
若未给定*c*,则获取指定像素的色值。若给定*c*,将指定像素设置到给定颜色。
在给定位置、按照给定大小和颜色绘制一个矩形。
可选的*f*参数可以设置为True以填充矩形。否则,只绘制一个像素的轮廓。
可选的*f*参数可以设置为True以填充椭圆。否则,只画一个像素的轮廓。
可选的*m*参数允许将绘画限制在椭圆的某些象限。LS四位决定哪些象限被绘制,其中位0指定Q1,b1指定Q2,b2指定Q3,b3指定Q4。象限逆时针编号,Q1为右上。
给定一个坐标列表,在给定的x,y位置使用给定的颜色绘制一个任意的(凸或凹)闭合多边形。
可选的*f*参数可以设置为True以填充多边形。否则,只画一个像素的轮廓。
使用坐标作为文本的左上角将文本写入FrameBuffer。文本的颜色可以通过可选参数定义,否则默认值为1。所有字符的尺寸为8x8像素,目前没有办法更改字体。
将FrameBuffer的内容按给定向量移动。这可能会在FrameBuffer中留下之前颜色的痕迹。
在当前FrameBuffer上的给定坐标处绘制另一个FrameBuffer。如果指定了*key*,则它应该是一个颜色整数,相应的颜色将被视为透明:所有具有该颜色值的像素都不会被绘制。(如果指定了*palette*,则*key*与*palette*中的值进行比较,而不是直接与*fbuf*中的值进行比较。)
单色(1位)颜色格式。这定义了一个映射,其中字节中的位垂直映射,位0最靠近屏幕顶部。因此,每个字节占据8个垂直像素。后续字节出现在连续的水平位置,直到达到最右边缘。更多的字节在最左边缘的位置,低8个像素处渲染。
单色(1位)颜色格式。这定义了一个映射,其中字节中的位水平映射。每个字节占据8个水平像素,位7是最左边的。后续字节出现在连续的水平位置,直到达到最右边缘。更多的字节在下一行渲染,低一像素。
单色(1位)颜色格式。这定义了一个映射,其中字节中的位是水平映射。每个字节占据8个水平像素,位0是最左边的。后续字节出现在连续的水平位置,直到达到最右边缘。更多的字节在下一行渲染,低一像素。