2309浏览
查看: 2309|回复: 0

[uPyCraft IDE] ESP32 常用的模块 framebuf 3.1.13

[复制链接]

framebuf模块提供了一个通用的帧缓冲区,可用于创建位图图像,然后将其发送到显示屏。

framebuf.FrameBuffer(buffer, width, height, format, stride=width)

类说明:构造一个FrameBuffer对象。

buffer:缓冲区
    必须足够大以包含由FrameBuffer指定的width,height和format
width :宽度,单位:像素
height:高度,单位:像素
format:FrameBuffer的格式
    framebuf.MONO_VLSB、framebuf.RGB565、framebuf.GS4_HMSB、framebuf.MONO_HLSB、framebuf.MONO_HMSB
stride:水平线的像素数
    默认为width

定义FrameBuffer

示例:

import framebuf

buffer = bytearray(16*8)
fb = framebuf.FrameBuffer(buffer, 128, 64, framebuf.MVLSB)

函数

1. framebuf.FrameBuffer.fill(c)

函数说明:填充指定颜色。

c:数值范围根据颜色格式来确定

示例:

fb.fill(1)

2. framebuf.FrameBuffer.pixel(x, y[, c])

函数说明: 画点。

x,y:点坐标(x, y)
c   :点颜色

3.framebuf.FrameBuffer.hline(x, y, w, c)

函数说明: 画水平线。

x,y:水平线起始点坐标(x, y)
w   :线长
c   :线的颜色

4. framebuf.FrameBuffer.vline(x, y, h, c)

函数说明: 画垂直线。

x,y:垂直线的起始点坐标(x, y)
h   :垂直线的高度
c   :线的颜色

5. framebuf.FrameBuffer.line(x1, y1, x2, y2, c)

函数说明: 画任意方向的线。

x1,y1:线的始点坐标(x1, y1)
x2,y2:线的终点坐标(x2, y2)
c     :线的颜色

6. framebuf.FrameBuffer.rect(x, y, w, h, c)

函数说明: 画矩形。

x,y:矩形的起始点(x, y)
w   :宽度
h   :高度
c   :矩形边的颜色

7. framebuf.FrameBuffer.fill_rect(x, y, w, h, c)

函数说明: 画矩形,并以颜色填充它。

x,y:矩形起始点(x, y)
w   :宽度
h   :高度

8. framebuf.FrameBuffer.scroll(xstep, ystep)

函数说明: 按照给定的向量(dx, dy)移动屏幕中的内容。

dx:水平方向移动的距离和方向
    dx为正数时向右移动,为负数时向左移动
dy:垂直方向移动的距离和方向
    dy为正数时向下移动,为负数时向下移动

示例:

fb.scroll(10,10)

9. frameBuffer.text(s, x, y[, c =1])

函数说明: 写任意文本 。

s:要显示的字符串
x,y:字符串的坐标(x, y)
c:字符串颜色

注意:
文本的颜色默认值为1。所有字符的尺寸为8x8像素,目前无法更改字体。

10. framebuf.FrameBuffer.blit(fbuf, x, y[, key ])

函数说明: 在当前FrameButter的指定坐标再创建一个FrameButter对象。如果指定了key值,则其对应的颜色是透明的:即不会画出与key指定的颜色相同的像素。若成功,则返回一个FrameBuffer对象。

fbuf:FrameBuffer对象
x,y:起始点坐标(x, y)
key:指定对应颜色为透明

示例:

buffer = bytearray (16*64)
fb1 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2 = framebuf.FrameBuffer(buffer,128,64, framebuf.MVLSB)
fb2.blit(fb1,0,0)

设置用于对颜色值进行编码的位数以及缓冲区中这些(二进制)位的布局。

  • framebuf.MVLSB   = 0
  • framebuf.MONO_VLSB   = 0 — 单色(1字节),定义1字节的bit位对应垂直方向的像素点
  • framebuf.RGB565   = 1 — 红绿蓝(16位,5 + 6 + 5)颜色
  • framebuf.GS4_HMSB   = 2 — 灰度(4位)
  • framebuf.MONO_HLSB   = 3 — 单色(1位),定义1字节的bit位对应水平方向像素点
  • framebuf.MONO_HMSB   = 4 — 单色(1位),定义1字节中bit位对应水平方向的像素点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail