BITMAPINFOHEADER
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
namespace PInvoke
{
public struct BITMAPINFOHEADER
{
public uint biSize;
public int biWidth;
public int biHeight;
public ushort biPlanes;
public ushort biBitCount;
public BitmapCompression biCompression;
public uint biSizeImage;
public int biXPelsPerMeter;
public int biYPelsPerMeter;
public uint biClrUsed;
public uint biClrImportant;
public bool IsDibV5 {
get {
uint num = (uint)Marshal.SizeOf(typeof(BITMAPINFOHEADER));
return biSize >= num;
}
}
public PixelFormat GetPixelFormat()
{
switch (biBitCount) {
case 32:
return PixelFormat.Format32bppRgb;
case 24:
return PixelFormat.Format24bppRgb;
case 16:
return PixelFormat.Format16bppRgb565;
case 15:
return PixelFormat.Format16bppRgb555;
default:
return PixelFormat.Undefined;
}
}
}
}