BITMAPINFOHEADER (Structures)
Last changed: Seri-109.90.29.109

.
Summary
BITMAPINFOHEADER

The BITMAPINFOHEADER contains information about the color space and dimensions of a DIB.

C# Definition:

[StructLayout(LayoutKind.Sequential)]
public struct BITMAPINFOHEADER
{
    public uint  biSize;
    public int   biWidth;
    public int   biHeight;
    public ushort   biPlanes;
    public ushort   biBitCount;
    public uint  biCompression;
    public uint  biSizeImage;
    public int   biXPelsPerMeter;
    public int   biYPelsPerMeter;
    public uint  biClrUsed;
    public uint  biClrImportant;

    public void Init()
    {
        biSize = (uint)Marshal.SizeOf(this);
    }
}

VB Definition:

StructLayout(LayoutKind.Explicit)> Public Structure BITMAPINFOHEADER
     <FieldOffset(0)>  Public biSize As Int32
     <FieldOffset(4)>  Public biWidth As Int32
     <FieldOffset(8)>  Public biHeight As Int32
     <FieldOffset(12)> Public biPlanes As Int16
     <FieldOffset(14)> Public biBitCount As Int16
     <FieldOffset(16)> Public biCompression As Int32
     <FieldOffset(20)> Public biSizeImage As Int32
     <FieldOffset(24)> Public biXPelsperMeter As Int32
     <FieldOffset(28)> Public biYPelsPerMeter As Int32
     <FieldOffset(32)> Public biClrUsed As Int32
     <FieldOffset(36)> Public biClrImportant As Int32
End Structure

User-Defined Field Types:

None.

Notes:

The unmanaged size of the structure must be set before the structure can be used by the API. This can be done by using the Init() call which uses the Marshal.SizeOf(this) method to get the appropriate size.

(Thanks to Mike I for the VB.NET definition).

Documentation

http://msdn.microsoft.com/en-us/library/dd183376