private int dibNumColors(BITMAPINFOHEADER bmInfoHeader) { if (bmInfoHeader.biClrUsed != 0) { return bmInfoHeader.biClrUsed; } switch (bmInfoHeader.biBitCount) { case 1: return 2; case 4: return 0x10; case 8: return 0x100; } return 0; }