public IPalette ReadExact(Stream stream, int count, bool readAlpha = false, byte defaultAlpha = 255) { var binaryReader = new BinaryReader(stream); var palette = new Palette(); for (var i = 0; i < count; ++i) { var color = new Color { Red = binaryReader.ReadByte(), Green = binaryReader.ReadByte(), Blue = binaryReader.ReadByte(), Alpha = readAlpha ? binaryReader.ReadByte() : defaultAlpha }; palette.AddColor(color); } return(palette); }