public static PaletteModel FromBinary(IModelsProvider dataProvider, IDbPaletteFromBinary entry) { if (entry.DataRef == null) { return(null); } var binaryModel = dataProvider.GetModel <BinaryModel>(entry.DataRef); if (binaryModel == null) { return(null); } //Remember to set source stream to begining binaryModel.Stream.Seek(entry.DataStart, SeekOrigin.Begin); var paletteBuilder = PaletteBuilder.NewPaletteModel(); var paletteReader = new PaletteReader(paletteBuilder, ToPaletteMode(entry.Mode), entry.ColorsNo); return(paletteReader.Read(binaryModel.Stream)); }
/// <summary> /// Loads the palette from the file specified in the parameters. /// </summary> private void LoadPalette() { DataTableLoaded.Rows.Clear(); if (!string.IsNullOrWhiteSpace(Parameters.FileNameReference)) { HashSet<Color> palette = new PaletteReader(Parameters.FileNameReference).GetPalette(); if (palette != null && palette.Count > 0) { foreach (Color color in palette) { DataRow row = DataTableLoaded.NewRow(); row[PaletteGridColumns.Color] = color; DataTableLoaded.Rows.Add(row); } } } }