在MSDN中
BITMAPINFOHEADER的biSize
Specifies the number of bytes required by the structure.
这段话的意思是不是说这个biSize是该结构的大小?
如果是这个意思的话,那么用PhotoShop7.0.1创建一个16bpp的位图,设置格式为A1R5G5B5.
读入这个位图,则会发现BiSize为56,而不是BITMAPINFOHEADER的40大小
而且WinXp自带的图片传真查看器无法查看该图片。但是MSPAINT.exe可以打开这个图片所以想问问BiSize到底指的是什么!?40+4*4(掩码)==56
BITMAPINFOHEADER的biSize
Specifies the number of bytes required by the structure.
这段话的意思是不是说这个biSize是该结构的大小?
如果是这个意思的话,那么用PhotoShop7.0.1创建一个16bpp的位图,设置格式为A1R5G5B5.
读入这个位图,则会发现BiSize为56,而不是BITMAPINFOHEADER的40大小
而且WinXp自带的图片传真查看器无法查看该图片。但是MSPAINT.exe可以打开这个图片所以想问问BiSize到底指的是什么!?40+4*4(掩码)==56
GZ
不过还是有很多程序可以打开这个图片的
除了ACDSee, winxp的图片查看器
但问题就是这个BiSize到底是什么DD呢?
类似的值还有biPlanes,biBitCount。
一般biPlanes必须等于1,但也有等于2或3的,而真正的位深为biPlanes*biBitCount
biBitCount也有时并不是2的幂值,比如等于3,那表示了所用的颜色数,而你要做的就是把它修正为4,等等。有些问题,执著是好事,但要知道什么是重要的。你能写一个尽可能打开能够打开的图像的解析器就对了,其他问题不重要。