micropython framebuf库的blit函数使用详解 [复制链接]
发表于 2025-11-16 03:00:05 | 显示全部楼层 |阅读模式
blit函数本相貌:

简朴来说,blit就是把一张图片放到画布上,可以用这个函数在屏幕绘制你想要的图片,如果把中文看成图片,那么就可以使用此函数实现中文表现。
  假设整个画布是用变量fb存储的。而必要绘制的图片已经编码好了并放在变量buf中。
一个像素2字节表现颜色,按我们平常誊写的次序依次存放每个像素就完成编码。
假定这个图片是32*32的,那么可以通过如下函数放置:
  1. fbuf=framebuf.FrameBuffer(buf,32,32,framebuf.RGB565)
  2. fb.blit(fbuf,x,y)
复制代码
第一行表现将图片编码转为FrameBuffer格式,并规定宽高
第二行表如今x,y绘制图片,x,y是图片的左上角定位
就是这么简朴。
接着让我们实现中文表现。
先确定需求,中文表现函数吸收中笔墨符串,另有放置位置,字体颜色
这与平常的图片放置差别,字体线条可以设置颜色,其他地方必要留白透明化以表现配景,轻微有些复杂
blit的第4个参数担当1个int,该int代表颜色,假设
  1. fb.blit(fbuf,x,y,1000)
复制代码
fbuf里颜色值为1000的像素将被视作透明,不会绘制
但是,我们大概在多种配景下绘制中文,每个配景绘制中文都必要传入配景致,太贫苦了,不优雅,那有没有更好的方法?
blit第5个参数,中文叫调色板,可以来办理这个题目。
在取字模时,存储的位图是单色的,以是在转FrameBuffer格式时,如下:
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表