我在用 C++ 创建位图时遇到了一个奇怪的问题。我正在使用 BITMAPFILEHEADER 和 BITMAPINFOHEADER 结构来创建 8 位灰度图像。位图数据通过 DMA 来自相机,因为 unsigned char 具有与预期完全相同的长度。保存图像并打开它,它包含颜色?!
它应该是这样的:http
://www.freeimagehosting.net/qd1ku 它是这样的:http ://www.freeimagehosting.net/83r1s
你知道这是从哪里来的吗?
位图的标题是:
42 4D 36 00 04 00 00 00 00 00 36 00 00 00 28 00 00 00 00 02 00 00 00 02 00 00 01 00 08 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
信息标题: 42 4D 它是一个位图 36 00 04 00 位图大小 = 0x04 00 36 - 标题大小 = 512x512 00 00 00 00 保留 36 00 00 00 偏移量 = Sizeof(Bitmapinfoheader); 28 00 00 00 Sizeof(Bitmapinfoheader); 00 02 00 00 =0x200 = 512 像素。 00 02 00 00 相同 01 00 = 1 - 标准。不再使用。 08 00 颜色部门 = 8 位。 00 00 00 00 压缩:0 = 无。 00 00 00 00 文件大小或零 00 00 00 00 X-Dot-Per-Meter,可以保留 0 00 00 00 00 y-Dot-Per-Meter,可以保留 0 00 00 00 00 如果为零,则使用所有 255 种颜色 00 00 00 00 如果为零,则不使用颜色表值
你知道这是从哪里来的吗?