Exemple #1
0
        private static void PaletteInfo(string file, string outputDir)
        {
            Console.WriteLine("Reading {0} as NCLR palette...", file);
            Nclr palette = new Nclr(file);

            Console.WriteLine("\t* Version:               {0}", palette.NitroData.VersionS);
            Console.WriteLine("\t* Contains PCMP section: {0}", palette.NitroData.Blocks.ContainsType("PCMP"));
            Console.WriteLine("\t* Number of palettes:    {0}", palette.NumPalettes);

            if (!string.IsNullOrEmpty(outputDir) && !Directory.Exists(outputDir))
                Directory.CreateDirectory(outputDir);
            for (int i = 0; i < palette.NumPalettes; i++) {
                Console.WriteLine("\t+ Palette {0}: {1} colors", i, palette.GetPalette(i).Length);

                if (!string.IsNullOrEmpty(outputDir)) {
                    string outputFile = Path.Combine(outputDir, "Palette" + i.ToString() + ".png");
                    if (File.Exists(outputFile))
                        File.Delete(outputFile);
                    palette.CreateBitmap(i).Save(outputFile);
                }
            }
        }