The BITMAPINFO structure defines the dimensions and color information for a DIB.

Namespace:  FreeImageAPI
Assembly:  FreeImageNET (in FreeImageNET.dll)


public struct BITMAPINFO : IEquatable<BITMAPINFO>
Visual Basic (Declaration)
<SerializableAttribute> _
Public Structure BITMAPINFO _
	Implements IEquatable(Of BITMAPINFO)
Visual C++
public value class BITMAPINFO : IEquatable<BITMAPINFO>


A DIB consists of two distinct parts: a BITMAPINFO structure describing the dimensions and colors of the bitmap, and an array of bytes defining the pixels of the bitmap. The bits in the array are packed together, but each scan line must be padded with zeroes to end on a LONG data-type boundary. If the height of the bitmap is positive, the bitmap is a bottom-up DIB and its origin is the lower-left corner. If the height is negative, the bitmap is a top-down DIB and its origin is the upper left corner.

A bitmap is packed when the bitmap array immediately follows the BITMAPINFO header. Packed bitmaps are referenced by a single pointer. For packed bitmaps, the biClrUsed member must be set to an even number when using the DIB_PAL_COLORS mode so that the DIB bitmap array starts on a DWORD boundary.

Note The bmiColors member should not contain palette indexes if the bitmap is to be stored in a file or transferred to another application.

Unless the application has exclusive use and control of the bitmap, the bitmap color table should contain explicit RGB values.

Version Information


Supported in: 3.11.0, 3.12.0, 3.13.0, 3.13.1

See Also