private void SaveTexture(crVTMapEntry textureToExport, String FileName, crVTPage vtPage) { Properties.Settings.Default.LastExportDirectory = Path.GetDirectoryName(FileName); Properties.Settings.Default.Save(); var fileType = Path.GetExtension(FileName).ToUpper(); ImageFormat imgFormat = ImageFormat.Png; if (fileType == ".TGA") { vtPage.SaveTexture(textureToExport, FileName, false, true, false, ImageFormat.Png); } else if (fileType == ".TDX") { vtPage.SaveTexture(textureToExport, FileName, true, false, false, ImageFormat.Png); } else { switch (fileType) { case ".JPG": imgFormat = ImageFormat.Jpeg; break; case ".JPEG": imgFormat = ImageFormat.Jpeg; break; case ".TIFF": imgFormat = ImageFormat.Tiff; break; case ".TIF": imgFormat = ImageFormat.Tiff; break; case ".BMP": imgFormat = ImageFormat.Bmp; break; case ".PNG": imgFormat = ImageFormat.Png; break; } vtPage.SaveTexture(textureToExport, FileName, imgFormat); } }
void ExportSelectedPage_Click(object sender, EventArgs e) { var dialog = new Minge.FolderSelect.FolderSelectDialog(); dialog.Title = "Export VT Page To..."; dialog.InitialDirectory = Properties.Settings.Default.LastExportDirectory; var result = dialog.ShowDialog(); if (result) { if (Directory.Exists(dialog.FileName)) { Properties.Settings.Default.LastExportDirectory = dialog.FileName; Properties.Settings.Default.Save(); List <crVTMapEntry> entries = null; if (PageType.SelectedItem == "Diffuse") { entries = DiffuseMap.Entries; } else if (PageType.SelectedItem == "Specular") { entries = SpecularMap.Entries; } else if (PageType.SelectedItem == "Normal") { entries = NormalMap.Entries; } crVTPage vtPage = (crVTPage)PageNumSelect.SelectedItem; int numTextures = 0; foreach (var entry in entries) { SaveTexture(entry, Path.Combine(dialog.FileName, Path.GetFileNameWithoutExtension(entry.FileName) + ".png"), vtPage); numTextures++; } MessageBox.Show(numTextures + " Textures Saved!", "Save Complete", MessageBoxButtons.OK); } } }