用C语言读取16位bmp图片的每个像素的信息~

来源:百度知道 编辑:UC知道 时间:2024/05/06 00:02:00
用C语言。
网上有很多24位图的,所以就不用麻烦大家了~
但是我们老师要求要16位,256的都要,我就头大了~
哪位大侠好心帮帮忙~~~

没有什么不同。
读出 BITMAPINFO 结构:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
以后,

BITMAPINFOHEADER 结构 里就有 biBitCount
biBitCount 等于 16 就是16位,等于24 就是24位,等于32 就是32位。

颜色在哪,要考虑 biCompression 压缩方法,若等于 BI_RGB, bmiColors 就等于 NULL. 在 bitmap 数组里 每个WORD 就是 一个像素点. 5个 bits 兰,5个 bits 绿,再5个 bits 红,最高位不用。
其它方法自己看资料吧。

一个道理啊
VC做??