RasterSaveDialogBitsPerPixelList Class
Summary
Save dialog format Bits Per Pixel list class to hold the bits per pixel to be added in the save dialog bits per pixel combo, refer to
RasterSaveDialogBitsPerPixel.
Syntax
[DefaultMemberAttribute("Item")]
public class RasterSaveDialogBitsPerPixelList
[DefaultMemberAttribute("Item")]
public ref class RasterSaveDialogBitsPerPixelList
Example
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 format
saveDlgFormatList.Add(RasterDialogFileTypesIndex.Lead, RasterDialogBitsPerPixelDataContent.Default);
// Adding Tiff format
saveDlgFormatList.Add(RasterDialogFileTypesIndex.Tiff, RasterDialogBitsPerPixelDataContent.User);
saveDlgFormatList[1].Name = "Custom Tiff";
//Adding all default 12-bit subtypes
saveDlgFormatList[1].BitsPerPixelList.Add(RasterDialogFileTypesIndex.Tiff, 12, RasterDialogFileSubTypeDataContent.Default);
//Adding all default 24-bit and some subtypes
saveDlgFormatList[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.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:\LEADTOOLS23\Resources\Images";
}