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); }
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); }