我看到BITMAP结构中bmWidthByte参数的值略大于预期值。 BITMAP结构的MSDN网站(https://msdn.microsoft.com/en-us/library/k1sf4cx2.aspx)显示结构中的值以及每个参数的一些附加信息。以下是bmWidthBytes:
的详细信息bmWidthBytes - 指定每个栅格线中的字节数。该值必须是偶数,因为图形设备接口(GDI)假定位图的位值形成整数(2字节)值的数组。换句话说,bmWidthBytes * 8必须是16的下一个倍数,大于或等于bmWidth成员乘以bmBitsPixel成员时获得的值。
我的结构具有以下值: bmType = 0,bmWidth = 202,bmHeight = 105,bmWidthBytes = 28,bmPlanes = 1,bmBitsPixel = 1
他们认为我应该计算bmWidthBytes是通过将我的bmWidth除以16,向上舍入到最接近的整数,再乘以16.此时我将得到总位数,所以除以8应该等于bmWidthBytes。
然而,对于我的价值观,这给了我26,这是我看到的28的两倍。如果有人能指出我失踪的任何东西,我将不胜感激。