什么是字库

博客讲述了LCD屏幕显示字符和图像的过程。首先,字库是用于将输入的二进制数据转化为可识别字符的映射表。接着,LCD图像渲染涉及到从图片中提取像素信息,以RGB编码确定颜色,并通过Linux系统的/dev/fb0设备文件写入数据来显示图像。该过程涉及到文件操作和色彩编码原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字库:

字库大多用在显示设备上,用来根据不同的编码方式(GB编码或者Unicode编码),显示出可识别出来的汉字或是字符串。
在这里插入图片描述

就是你要显示的字符与你输入的二进制数据的一个对应关系的表,收到哪个数据显示哪个字符而已。

LCD图像渲染

如果要使用LCD来显示一张图片, 那么首先要提取图片的二进制像素信息.

每张图片, 比如对于没有压缩的bmp图片, 里面存有二进制格式的像素数据.
假设图像的宽度是103, 高度是104 pix,

那么图片的分辨率就等于:

resolution = 103 * 104 = 10_712 pixels;

只需要这么多个像素点就能表示这张图片了.

单个像素是怎么显示的呢?

根据RGB三原色原理, 我们可以用RGB编码来确定一个像素点的颜色.

因此, RGB编码规定, 一个像素用 3 bytes 表示.

一个字节转换成十进制就是(0-255).

所以我们给每个像素点都存储3 bytes的RGB值.

那么如何把这些像素点的RGB值投放到LCD上呢?

我们之前提到过LCD屏幕是采用A-R-G-B编码的, 如果我们不需要透明度, 只要给LCD中[A]的位置, 赋值0x00就行了.

给LCD中R-G-B位置填充每一个像素点的数据, 比如是白色就填充 0xFF, FF, FF 。

该如何完成这个操作呢?

在Linux系统下, Everything is files.

我们可以在/dev目录下找到LCD的驱动文件, 比如/dev/fb0就是LCD的驱动文件.

使用C标准库fopen打开这个驱动,然后使用fwrite给LCD驱动写入数据就行了.

LCD的驱动接口本质上就是一个需要数据填充的文件, 你填充什么像素, 它就显示相对应的内容.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值