经过一天的实践,终于弄明白的BMP图片的格式,并完成了正确读取图片信息,并生成新的BMP图片。
写程序前,首先要先了解一下几个知识点:
1. BMP图片的文件头、信息头,一共是54个字节,具体结构和意义在程序中有详细注释;
2. BMP按照每个像素的颜色占用的bit数分:1位(2色)、4位(16色)、8位(256色)、24位(真彩色)、32位(带透明度信息),一共五种,其中除24位和32位外,都需要使用调色板;
3. BMP中的图像数据按照每行32位对齐,不足32位用0补齐,故每行实际的长度是(像素宽度*像素占用bit数+31)/32个bit位;
附上详细程序,实现了读取一副bmp图片信息,重新生成一副bmp图像的功能,同时分别取出了每个像素的RGB三个分量值,分别存入三个文件。
#include<stdio.h>
#include<stdlib.h>
typedef unsigned short int WORD;
typedef unsigned int DWORD;
typedef unsigned char BY

本文介绍了作者通过一天的学习实践,掌握了BMP文件格式,并编写了C语言程序来读取和写入BMP图片。程序详细解释了BMP文件头和信息头的结构,以及不同颜色深度的处理方式。此外,该程序还能提取每个像素的RGB分量并保存到单独的文件中。
1277

被折叠的 条评论
为什么被折叠?



