如何确定 BMP 图像是否包含 header 中的 BGR 或 BGRA 像素?
How do I find out if BMP image contains BGR or BGRA pixels from header?
我不知道如何确定 BMP 图像是否包含 BGR 或 BGRA 颜色。我写了简单的 BMP reader 但是在不同的图像上有不同的值。
我已经找到了 2 个选项。
- 简单 BGR (255, 255, 255)
- 第四个值为 0 (255, 255, 255, 0)
有什么方法可以从位图信息中找出哪个选项 header?
位图文件的前 54 个字节是文件头。阅读 BITMAPINFOHEADER
其中包含位图的宽度和高度,以及 biBitCount
对于 32 位(4 字节)图像 biBitCount
是 32 (BGRA)
对于 24 位(3 字节)图像 biBitCount
是 24 (BGR)
biBitCount
对于基于调色板的位图也可以是 16 位或 8、4、1。
我不知道如何确定 BMP 图像是否包含 BGR 或 BGRA 颜色。我写了简单的 BMP reader 但是在不同的图像上有不同的值。
我已经找到了 2 个选项。
- 简单 BGR (255, 255, 255)
- 第四个值为 0 (255, 255, 255, 0)
有什么方法可以从位图信息中找出哪个选项 header?
位图文件的前 54 个字节是文件头。阅读 BITMAPINFOHEADER
其中包含位图的宽度和高度,以及 biBitCount
对于 32 位(4 字节)图像 biBitCount
是 32 (BGRA)
对于 24 位(3 字节)图像 biBitCount
是 24 (BGR)
biBitCount
对于基于调色板的位图也可以是 16 位或 8、4、1。