【发布时间】:2014-10-10 00:50:27
【问题描述】:
您好,我正在尝试仅使用位运算符来查找 BMP 图像的宽度和高度。 这是我迄今为止尝试过的。
for (i = 0; i <= 3; i++)
{
width = file_data[i + 18] | width << 8;
height = file_data[i + 22] | height << 8;
}
这是我所知道的。宽度在字节 19、20、21 和 22 中找到。字节 19 是低位字节,然后是 20,然后是 21,字节 22 是高位字节。
高度在字节 23、24、25 和 26 中找到。字节 23 是低位字节,然后是 24,然后是 25,字节 26 是高位字节。
宽度和高度是整数。
更新-------- 我当前使用的文件的宽度和高度是 298 x 432 当我使用
for (i = 0; i <= 3; i++)
{
width = file_data[21 - i] | width << 8;
height = file_data[25 - i] | height << 8;
}
当我运行程序时,我得到 298 by -80
【问题讨论】:
-
你为什么要这样做?将数据复制到 BITMAPINFO 结构中并直接访问字段。
-
我想练习一下位运算符。