Breaking the BMP 4GB Barrier

Steve DiBartolomeo
Applications Manager

As explained in another FAQ, BMP files may not be larger than 4 GB because the size information of the file is stored in the header as a 4 bit integer. Some of Artwork's clients have asked about whether we can support a way of exceeding the size limit.

The answer is YES, if one is willing to produce a non-standard header. This limits the BMP file to use with applications that can accommodate this non-standard header and large files (which, unless you roll your own, is pretty much none.)

The purposes of a bitmap header is to tell the program that will be using it certain information about the contents and organization. In the case of a monochrome BMP bitmap the header includes the file size.

When our VLBV reads the BMP header and it sees a file size = 0 (i.e. all bits in the 4 bytes are = 0) it now makes the assumption that the file is not zero in size, but rather that the file is larger than 4 GB.

If the header record for size is set=0 then VLBV assumes the file is greater than 4 GB.

The VLBV program then uses the image width and image height values to compute the true file size.

Producing BMP > 4 GB

Some of Artwork's rasterizers now include an output option -bmp4gb that allows the production of a BMP file that is greater than 4GB. Or, if you are writing your own rasterizer you can follow the convention we've defined and the VLBV program will load and display the data.

Download Revision History      Price         Manual            FAQ