发新帖我要提问
12
返回列表
打印
[STM32F1]

STM32基础篇FATFS 数码相框-BMP 图片显示

[复制链接]
楼主: aizaixiyuanqian
手机看帖
扫描二维码
随时随地手机跟帖
21
aizaixiyuanqian|  楼主 | 2018-4-30 19:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
位图信息头(bitmap information):提供图像数据的尺寸大小、位平面数,压缩方式、颜色索引等信息。

使用特权

评论回复
22
aizaixiyuanqian|  楼主 | 2018-4-30 19:53 | 只看该作者
3) 调色板(color palette):如使用索引来表示图像,调色板就是索引与其对
应的颜色的映射表。

使用特权

评论回复
23
aizaixiyuanqian|  楼主 | 2018-4-30 19:58 | 只看该作者
4) 位图数据(bitmap data):就是图像数据啦。
在位图数据,我们这里着重讲真彩位图的数据格式,在真彩位图中,数
据都是用三种颜色来表示一个像素点,也就是 RGB。如:24 位真彩,那么
是 8 位 R,8 位 G,8 位 B。然后 BMP 格式是从图片最左下角的第一个像素
点开始,从左到右,从下到上,开始扫描存储。要注意的是,我们知道 Windows
默认的扫描的最小单位是 4 字节,如果数据对齐满足这个值的话对于数据的
获取速度等都是有很大的增益的。所以呢,当 BMP 图像扫描完一行像素点
之后,如果得到的数据不是 4 的倍数的话,会进行补齐。

使用特权

评论回复
24
aizaixiyuanqian|  楼主 | 2018-4-30 19:59 | 只看该作者
显示操作原理
关于 BMP 格式的详情,我们这里不深究了,大家可以查看例程目录下
的《BMP 文件格式详解.pdf》,这个文档讲得很详细,大家深入学习的时候
可以查看,我们这里最重要的是怎么将 BMP 格式的图片显示出来,知其然,
才有能力去知其所以然嘛。

使用特权

评论回复
25
aizaixiyuanqian|  楼主 | 2018-4-30 20:04 | 只看该作者
要显示一个 BMP 格式的图片,具体的操作步骤:
1) 打开文件
2) 读取文件信息头和位图信息头。
也就是 BMP 文件的头 54 个字节,然后对照文件信息头和位图信息
头,将信息头里面各种数据对齐放置,以方便我们查看读取的 BMP 文
件各种数据类型(如:图片大小,位图数据偏移地址等)。

使用特权

评论回复
26
aizaixiyuanqian|  楼主 | 2018-4-30 20:04 | 只看该作者
3) 读取图片大小,然后查看图片是否过大,如果大于要显示的 LCD 彩
屏,那么将 BMP 图片进行缩小。同时根据图片的宽度进行宽度补偿
(每行的 RGB 数据都要是 4 的倍数,不够补齐)。

使用特权

评论回复
27
aizaixiyuanqian|  楼主 | 2018-4-30 20:26 | 只看该作者
4) 然后根据位图数据偏移地址,跳过信息头和调色板,开始读取位图
信息。
5) 将位图信息数据转换成 LCD 彩屏才能显示的 16 位真彩(根据自己
LCD 彩屏需要的真彩位数进行色彩转换)然后显示。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则