public RasterSaveDialogSubTypesList SubFormatsList { get; set; }
A RasterSaveDialogSubTypesList class that represents the list of sub-types associated with the bits per pixel being used to save the file.
using Leadtools;using Leadtools.Codecs;using Leadtools.WinForms.CommonDialogs.File;public void RasterSaveDialogExample(){RasterCodecs rasterCodecs = new RasterCodecs();RasterSaveDialog saveDlg = new RasterSaveDialog(rasterCodecs);RasterSaveDialogFileFormatsList saveDlgFormatList = new RasterSaveDialogFileFormatsList(RasterDialogFileFormatDataContent.User);// Adding Cmp formatsaveDlgFormatList.Add(RasterDialogFileTypesIndex.Lead, RasterDialogBitsPerPixelDataContent.Default);// Adding Tiff formatsaveDlgFormatList.Add(RasterDialogFileTypesIndex.Tiff, RasterDialogBitsPerPixelDataContent.User);saveDlgFormatList[1].Name = "Custom Tiff";//Adding all default 12-bit subtypessaveDlgFormatList[1].BitsPerPixelList.Add(RasterDialogFileTypesIndex.Tiff, 12, RasterDialogFileSubTypeDataContent.Default);//Adding all default 24-bit and some subtypessaveDlgFormatList[1].BitsPerPixelList.Add(RasterDialogFileTypesIndex.Tiff, 24, RasterDialogFileSubTypeDataContent.User);saveDlgFormatList[1].BitsPerPixelList[1].SubFormatsList.Add(RasterDialogFileTypesIndex.Tiff, 24, (int)RasterDialogTiff24SubTypesIndex.UncompressedYCbCr);saveDlgFormatList[1].BitsPerPixelList[1].SubFormatsList.Add(RasterDialogFileTypesIndex.Tiff, 24, (int)RasterDialogTiff24SubTypesIndex.PackbitsRgb);saveDlgFormatList[1].BitsPerPixelList[1].SubFormatsList.Add(RasterDialogFileTypesIndex.Tiff, 24, (int)RasterDialogTiff24SubTypesIndex.PackbitsCmyk);saveDlg.AutoProcess = false;saveDlg.BitsPerPixel = 24;saveDlg.DefaultExt = "cmp";saveDlg.EnableSizing = true;saveDlg.FileFormatsList = saveDlgFormatList;saveDlg.FileName = "Out_Image1.cmp";saveDlg.FileSubTypeIndex = (int)RasterDialogCmpSubTypesIndex.NonProgressive;saveDlg.FileTypeIndex = RasterDialogFileTypesIndex.Lead;saveDlg.InitialDirectory = LEAD_VARS.ImagesDir;saveDlg.InitialView = FileDialogInitialView.List;saveDlg.PageNumber = 1;saveDlg.Passes = 1;saveDlg.PromptOverwrite = true;saveDlg.QualityFactor = 2;saveDlg.ShowFileOptionsBasicJ2kOptions = false;saveDlg.ShowFileOptionsJ2kOptions = false;saveDlg.ShowFileOptionsMultipage = true;saveDlg.ShowFileOptionsProgressive = true;saveDlg.ShowFileOptionsQualityFactor = true;saveDlg.ShowFileOptionsStamp = true;saveDlg.ShowPdfProfiles = true;saveDlg.ShowBitsPerPixel = true;saveDlg.ShowFormatSubType = true;saveDlg.ShowHelp = true;saveDlg.ShowOptions = true;saveDlg.ShowQualityFactor = true;saveDlg.StampBitsPerPixel = 24;saveDlg.StampHeight = 120;saveDlg.StampWidth = 120;saveDlg.Title = "Save Dialog";saveDlg.WithStamp = false;saveDlg.Help += new EventHandler<RasterDialogHelpEventArgs>(saveDlg_Help);// Replace "Cancel" string with "Cancel Save"RasterSaveDialog.SetDialogString(new RasterDialogStrings("Cancel Save", RasterDialogStringsId.SaveCancel));if (DialogResult.OK == saveDlg.ShowDialog(null)){Leadtools.RasterImage saveImage = rasterCodecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"));switch (saveDlg.Format){case RasterImageFormat.Abc:{rasterCodecs.Options.Abc.Save.QualityFactor = saveDlg.AbcQualityFactor;break;}case RasterImageFormat.Png:{rasterCodecs.Options.Png.Save.QualityFactor = saveDlg.QualityFactor;break;}case RasterImageFormat.Cmp:{rasterCodecs.Options.Jpeg.Save.QualityFactor = saveDlg.QualityFactor;rasterCodecs.Options.Jpeg.Save.CmpQualityFactorPredefined = saveDlg.CmpQualityFactor;break;}default:{rasterCodecs.Options.Jpeg.Save.QualityFactor = saveDlg.QualityFactor;break;}}rasterCodecs.Options.Jpeg.Save.SaveWithStamp = saveDlg.WithStamp;rasterCodecs.Options.Jpeg.Save.StampBitsPerPixel = saveDlg.StampBitsPerPixel;rasterCodecs.Options.Jpeg.Save.StampWidth = saveDlg.StampWidth;rasterCodecs.Options.Jpeg.Save.StampHeight = saveDlg.StampHeight;rasterCodecs.Save(saveImage,saveDlg.FileName,saveDlg.Format,saveDlg.BitsPerPixel,saveImage.Page,saveImage.Page,saveDlg.PageNumber,saveDlg.MultiPage);RasterDialogStrings okButtonString = RasterSaveDialog.GetDialogString(RasterDialogStringsId.SaveCancel);MessageBox.Show(okButtonString.ToString());}}public void saveDlg_Help(object sender, RasterDialogHelpEventArgs e){switch (e.Dialog){case RasterDialogHelpName.Save:{MessageBox.Show("Save dialog Help");break;}case RasterDialogHelpName.J2kOptions:{MessageBox.Show("Jpeg 2000 Save Options dialog Help");break;}case RasterDialogHelpName.SaveOptions:{MessageBox.Show("Save Options dialog Help");break;}}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}