public void ExportAtlas() { if (savePath == null) { // prompt for save ImageIO imageHandler = new ImageIO(); // create save dialog Microsoft.Win32.SaveFileDialog saveDiag = new Microsoft.Win32.SaveFileDialog(); saveDiag.FileName = "atlas.png"; saveDiag.AddExtension = true; saveDiag.Filter = ImageIO.BuildFilterStr("p"); Nullable <bool> diagResult = saveDiag.ShowDialog(); // User selected a save location if (diagResult == true) { // Write Save Path for future saves savePath = saveDiag.FileName; } // User did not select a save location else { return; } } // Save BitmapImage PackerMan.SortSubsprites(); PackerMan.BuildAtlas(); ImageIO.Save(Atlas, savePath); Path.GetFileNameWithoutExtension(savePath); // Save XML PackerMan.BuildXML(Path.GetFileName(savePath)); string xmlSavepath = Path.ChangeExtension(savePath, ".xml"); FileStream xmlStream = new FileStream(xmlSavepath, FileMode.Create); PackerMan.AtlasXML.Save(xmlStream); xmlStream.Close(); }