예제 #1
0
        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));
        }
예제 #2
0
        /// <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);
                    }
                }
            }
        }