为位图设置unsigned int的问题

时间:2013-05-29 09:10:01

标签: c++ bitmap size int

这是我的位图信息标题

的文件结构
// the info header to store reveleant bitmap data
struct InfoHeader
{
    unsigned int biSize;        // the bit size
    unsigned int width;     
    unsigned int height; 
    unsigned short biPlanes;    // number planes
    unsigned short biBitCount;  // number of bits for each pixel
    unsigned int biCompression; // compression used
    unsigned int size;  // size of image
    unsigned int biXPelsPerMeter;       // unit of measurement for x
    unsigned int biYPelsPerMeter;       // unit of measurement for y
    unsigned int biClrUsed; // number of colours
    unsigned int biClrImportant;
};

我认为它符合http://en.wikipedia.org/wiki/BMP_file_format

所代表的结构

但是当我尝试通过

设置图像的大小时
bitmapInfoHeader.size = (width*height*3);

如果宽度和高度都是无符号整数,则大小始终设置为0。 我已经玩了好几年了,请帮忙吗?

编辑:宽度和高度都通过参数传递给方法(writeBitmapFile)并且都被初始化(我已经测试过了)

感谢。

1 个答案:

答案 0 :(得分:0)

在5月29日由OP关闭。他通过从.BMP文件(使用fread或等效文件)大量啜饮来填充结构,并且他的结构字段在内存中的布局没有' t匹配文件中字段的布局。没什么好兴奋的。