private static void WriteBitmapPalette(BinaryWriter writer, BitmapPalette palette) { if (palette == null) { writer.Write((byte)BitmapPaletteEnum.None); } else if (CheckAreEqual(palette, BitmapPalettes.BlackAndWhite)) { writer.Write((byte)BitmapPaletteEnum.BlackAndWhite); } else if (CheckAreEqual(palette, BitmapPalettes.BlackAndWhiteTransparent)) { writer.Write((byte)BitmapPaletteEnum.BlackAndWhiteTransparent); } else if (CheckAreEqual(palette, BitmapPalettes.Gray16)) { writer.Write((byte)BitmapPaletteEnum.Gray16); } else if (CheckAreEqual(palette, BitmapPalettes.Gray16Transparent)) { writer.Write((byte)BitmapPaletteEnum.Gray16Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Gray256)) { writer.Write((byte)BitmapPaletteEnum.Gray256); } else if (CheckAreEqual(palette, BitmapPalettes.Gray256Transparent)) { writer.Write((byte)BitmapPaletteEnum.Gray256Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Gray4)) { writer.Write((byte)BitmapPaletteEnum.Gray4); } else if (CheckAreEqual(palette, BitmapPalettes.Gray4Transparent)) { writer.Write((byte)BitmapPaletteEnum.Gray4Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone125)) { writer.Write((byte)BitmapPaletteEnum.Halftone125); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone125Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone125Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone216)) { writer.Write((byte)BitmapPaletteEnum.Halftone216); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone216Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone216Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone252)) { writer.Write((byte)BitmapPaletteEnum.Halftone252); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone252Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone252Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone256)) { writer.Write((byte)BitmapPaletteEnum.Halftone256); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone256Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone256Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone27)) { writer.Write((byte)BitmapPaletteEnum.Halftone27); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone27Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone27Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone64)) { writer.Write((byte)BitmapPaletteEnum.Halftone64); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone64Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone64Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone8)) { writer.Write((byte)BitmapPaletteEnum.Halftone8); } else if (CheckAreEqual(palette, BitmapPalettes.Halftone8Transparent)) { writer.Write((byte)BitmapPaletteEnum.Halftone8Transparent); } else if (CheckAreEqual(palette, BitmapPalettes.WebPalette)) { writer.Write((byte)BitmapPaletteEnum.WebPalette); } else if (CheckAreEqual(palette, BitmapPalettes.WebPaletteTransparent)) { writer.Write((byte)BitmapPaletteEnum.WebPaletteTransparent); } else { throw new SerializerException(string.Format("Unsupported BitmapPalette: {0}", palette.ToString())); } }