在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
BMP 格式帧
感性理解一下开始阅读代码(解码部分)源码在 src 目录里,测试例子在 example 目录。 我们要先看 解析bmp格式文件,看一下文件列表,那么肯定是 decoder.rs 解析-位图文件头WIKI: 这部分数据块位于文件开头,用于进行文件的识别。典型的应用程序会首先普通读取这部分数据以确保的确是位图文件并且没有损坏。所有的整数值都以小端序存放(即最低有效位前置)。 L87 调用 read_bmp_id(bmp_data)?; 读取魔数这个魔数用于确定这是一个BMP文件 L88 调用 let header = read_bmp_header(bmp_data)?; 读取剩下文件头的部分注:这里的 bmp_data是 解析-DIB头L89 调用 let dib_header = read_bmp_dib_header(bmp_data)?;匹配 Bmp版本
匹配 像素格式(每像素有多少个比特
匹配 压缩类型
对应着帧数据格式的 最后返回dib结果附加位掩码解析 调色板L91 解析 let color_palette = read_color_palette(bmp_data, &dib_header)?;解析像素解析出像素数组并用于调用 fn read_indexes(对应着 其中用于读取索引的函数 用于读取像素数据的函数 最后构造出整个BMP文件数据帧的结构体/内存形态
阅读代码(编码部分)比较清晰了然,直接上图 写入到文件 项目总结
类似的项目https://gitlab.scd31.com/stephen/dtmf |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论