Example #1
0
        public static CombinedSpriteSheet CombineSpritesSheets(IList <string> inputFiles,
                                                               Size spriteSize,
                                                               string outputFile     = null,
                                                               int[][] spritesToKeep = null)
        {
            //accumulate images that will be used
            Dictionary <int, int>[] remap;
            List <Bitmap>           subImages = getAllSprites(inputFiles, spriteSize, spritesToKeep, out remap);

            Bitmap b = MakeImageAtlas(spriteSize, subImages);

            //save image
            if (outputFile != null)
            {
                //make sure the precompile dir is present
                if (!Directory.Exists(Path.GetDirectoryName(outputFile)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(outputFile));
                }

                b.Save(outputFile);
            }

            //return
            CombinedSpriteSheet res = new CombinedSpriteSheet(b, remap);

            return(res);
        }
Example #2
0
            static CombinedSpriteSheet fromFiles(string imagePath, string settingsPath)
            {
                Bitmap image = ((Bitmap)Bitmap.FromFile(imagePath)).GetUnFuckedVersion();

                Dictionary <int, int>[] remap;
                bool settingsOk = loadSettings(settingsPath, out remap);

                if ((image != null) && (settingsOk))
                {
                    CombinedSpriteSheet cs = new CombinedSpriteSheet(image, remap);
                    return(cs);
                }

                //error
                return(null);
            }