Ejemplo n.º 1
0
        public static Npck[] FromBackgroundImageSharePaletteChangeDepth(string[] images,
                                                                        Npck original, bool partialImage = false)
        {
            EmguImage[] emguImgs = new EmguImage[images.Length];
            for (int i = 0; i < images.Length; i++)
            {
                emguImgs[i] = new EmguImage(images[i]);
            }

            BackgroundImporter importer = new BackgroundImporter();

            importer.SetOriginalSettings(original[6], original[1], original[0]);
            importer.PartialImage = partialImage;

            // Create packs
            Npck[] packs = new Npck[images.Length];
            for (int i = 0; i < images.Length; i++)
            {
                MemoryStream nclrStr = new MemoryStream();
                MemoryStream ncgrStr = new MemoryStream();
                MemoryStream nscrStr = new MemoryStream();

                if (i > 0)
                {
                    importer.PaletteMode = PaletteMode.Palette16_16;
                    importer.Format      = ColorFormat.Indexed_4bpp;
                }

                importer.ImportBackground(emguImgs[i], nscrStr, ncgrStr, nclrStr);
                nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0;

                // Only first pack file has palette file
                if (i == 0)
                {
                    packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr);
                }
                else
                {
                    packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, null);
                }
            }

            // Dispose images
            foreach (EmguImage emgu in emguImgs)
            {
                emgu.Dispose();
            }

            return(packs);
        }
Ejemplo n.º 2
0
        public static Npck[] FromBackgroundImageShareImage(string[] images, Npck original)
        {
            EmguImage[] emguImgs = new EmguImage[images.Length];
            for (int i = 0; i < images.Length; i++)
            {
                emguImgs[i] = new EmguImage(images[i]);
            }

            BackgroundImporter importer = new BackgroundImporter();

            importer.SetOriginalSettings(original[6], original[1], original[0]);
            Npck[] npcks = FromBackgroundImageShareImage(emguImgs, importer);

            // Dispose images
            foreach (EmguImage emgu in emguImgs)
            {
                emgu.Dispose();
            }

            return(npcks);
        }
Ejemplo n.º 3
0
        public static Npck FromBackgroundImage(EmguImage image, Npck original,
                                               bool changePalette = false)
        {
            if (original[0] == null || original[1] == null)
            {
                throw new FormatException(
                          "Can not import image.\n" +
                          "There is not palette or image in the original pack."
                          );
            }

            MemoryStream nclrStr = new MemoryStream();
            MemoryStream ncgrStr = new MemoryStream();
            MemoryStream nscrStr = new MemoryStream();

            // Import image
            BackgroundImporter importer = new BackgroundImporter();

            importer.SetOriginalSettings(original[2], original[1], original[0], changePalette);
            importer.ImportBackground(image, nscrStr, ncgrStr, nclrStr);

            nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0;
            return(Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr));
        }
Ejemplo n.º 4
0
        public static Npck[] FromBackgroundImageSharePaletteChangeDepth(string[] images,
			Npck original, bool partialImage = false)
        {
            EmguImage[] emguImgs = new EmguImage[images.Length];
            for (int i = 0; i < images.Length; i++)
                emguImgs[i] = new EmguImage(images[i]);

            BackgroundImporter importer = new BackgroundImporter();
            importer.SetOriginalSettings(original[6], original[1], original[0]);
            importer.PartialImage = partialImage;

            // Create packs
            Npck[] packs = new Npck[images.Length];
            for (int i = 0; i < images.Length; i++) {
                MemoryStream nclrStr = new MemoryStream();
                MemoryStream ncgrStr = new MemoryStream();
                MemoryStream nscrStr = new MemoryStream();

                if (i > 0) {
                    importer.PaletteMode = PaletteMode.Palette16_16;
                    importer.Format = ColorFormat.Indexed_4bpp;
                }

                importer.ImportBackground(emguImgs[i], nscrStr, ncgrStr, nclrStr);
                nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0;

                // Only first pack file has palette file
                if (i == 0)
                    packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr);
                else
                    packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, null);
            }

            // Dispose images
            foreach (EmguImage emgu in emguImgs)
                emgu.Dispose();

            return packs;
        }
Ejemplo n.º 5
0
        public static Npck[] FromBackgroundImageSharePalette(string[] images, Npck original)
        {
            EmguImage[] emguImgs = new EmguImage[images.Length];
            for (int i = 0; i < images.Length; i++)
                emguImgs[i] = new EmguImage(images[i]);

            BackgroundImporter importer = new BackgroundImporter();
            importer.SetOriginalSettings(original[6], original[1], original[0]);
            Npck[] npcks = FromBackgroundImageSharePalette(emguImgs, importer);

            // Dispose images
            foreach (EmguImage emgu in emguImgs)
                emgu.Dispose();

            return npcks;
        }
Ejemplo n.º 6
0
        public static Npck FromBackgroundImage(EmguImage image, Npck original, 
			bool changePalette = false)
        {
            if (original[0] == null || original[1] == null)
                throw new FormatException(
                    "Can not import image.\n" +
                    "There is not palette or image in the original pack."
                );

            MemoryStream nclrStr = new MemoryStream();
            MemoryStream ncgrStr = new MemoryStream();
            MemoryStream nscrStr = new MemoryStream();

            // Import image
            BackgroundImporter importer = new BackgroundImporter();
            importer.SetOriginalSettings(original[2], original[1], original[0], changePalette);
            importer.ImportBackground(image, nscrStr, ncgrStr, nclrStr);

            nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0;
            return Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr);
        }