用C语言读取16位bmp图片的每个像素的信息~
用C语言。网上有很多24位图的,所以就不用麻烦大家了~但是我们老师要求要16位,256的都要,我就头大了~哪位大侠好心帮帮忙~~~...
用C语言。
网上有很多24位图的,所以就不用麻烦大家了~
但是我们老师要求要16位,256的都要,我就头大了~
哪位大侠好心帮帮忙~~~ 展开
网上有很多24位图的,所以就不用麻烦大家了~
但是我们老师要求要16位,256的都要,我就头大了~
哪位大侠好心帮帮忙~~~ 展开
2个回答
展开全部
没有什么不同。
读出 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 红,最高位不用。
其它方法自己看资料吧。
读出 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 红,最高位不用。
其它方法自己看资料吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询