コード例 #1
0
ファイル: Tests.cs プロジェクト: MetalFan1988/ninoimager
        private static void ImportTestBackground(string mapFile, string imgFile, string palFile)
        {
            FileStream   oldPalStr = new FileStream(palFile, FileMode.Open);
            FileStream   oldImgStr = new FileStream(imgFile, FileMode.Open);
            FileStream   oldMapStr = new FileStream(mapFile, FileMode.Open);
            MemoryStream newPalStr = new MemoryStream();
            MemoryStream newImgStr = new MemoryStream();
            MemoryStream newMapStr = new MemoryStream();

            Nclr      nclr = new Nclr(oldPalStr);
            Ncgr      ncgr = new Ncgr(oldImgStr);
            Nscr      nscr = new Nscr(oldMapStr);
            EmguImage bmp  = nscr.CreateBitmap(ncgr, nclr);

            bmp.Save(mapFile + ".png");

            BackgroundImporter importer = new BackgroundImporter();

            importer.ImportBackground(bmp, newMapStr, newImgStr, newPalStr);

            if (!Compare(oldPalStr, newPalStr))
            {
                string newPalFile = palFile + ".new";
                WriteStream(newPalFile, newPalStr);
                Console.WriteLine("Palette different... Written to {0}", newPalFile);
            }
            if (!Compare(oldImgStr, newImgStr))
            {
                string newImgFile = imgFile + ".new";
                WriteStream(newImgFile, newImgStr);
                Console.WriteLine("Image different...   Written to {0}", newImgFile);
            }
            if (!Compare(oldMapStr, newMapStr))
            {
                string newMapFile = mapFile + ".new";
                WriteStream(newMapFile, newMapStr);
                Console.WriteLine("Map different...     Written to {0}", newMapFile);
            }

            newPalStr.Position = newImgStr.Position = newMapStr.Position = 0;
            nclr = new Nclr(newPalStr);
            ncgr = new Ncgr(newImgStr);
            nscr = new Nscr(newMapStr);
            nscr.CreateBitmap(ncgr, nclr).Save(mapFile + "m.png");

            oldPalStr.Close();
            oldImgStr.Close();
            oldMapStr.Close();
            newPalStr.Close();
            newImgStr.Close();
            newMapStr.Close();
        }
コード例 #2
0
ファイル: Tests.cs プロジェクト: MetalFan1988/ninoimager
        private static void MapInfo(string mapFile, string imgFile, string palFile, string outputFile)
        {
            Console.WriteLine("Reading {0} as NCLR palette...", palFile);
            Nclr palette = new Nclr(palFile);

            Console.WriteLine("Reading {0} as NCGR image...", imgFile);
            Ncgr image = new Ncgr(imgFile);

            Console.WriteLine("Reading {0} as NSCR map...", mapFile);
            Nscr map = new Nscr(mapFile);

            Console.WriteLine("\t* Version:      {0}", map.NitroData.VersionS);
            Console.WriteLine("\t* Height:       {0}", map.Height);
            Console.WriteLine("\t* Width:        {0}", map.Width);
            Console.WriteLine("\t* BG Mode:      {0}", map.BgMode);
            Console.WriteLine("\t* Palette Mode: {0}", map.PaletteMode);

            map.CreateBitmap(image, palette).Save(outputFile);
        }