TiffOptions class

The tiff file format options. Note that width and height tags will get overwritten on image creation by width and height parameters so there is no need to specify them directly. Note that many options return a default value but that does not mean that this option is set explicitly as a tag value. To verify the tag is present use Tags property or the corresponding IsTagPresent method.

public class TiffOptions : ImageOptionsBase


Name Description
TiffOptions(TiffDataType[]) Initializes a new instance of the TiffOptions class.
TiffOptions(TiffExpectedFormat) Initializes a new instance of the TiffOptions class. By default little endian convention is used.
TiffOptions(TiffOptions) Initializes a new instance of the TiffOptions class.
TiffOptions(TiffExpectedFormat, TiffByteOrder) Initializes a new instance of the TiffOptions class.


Name Description
AlphaStorage { get; set; } Gets or sets the alpha storage option. Options other than Unspecified are used when there are more than 3 SamplesPerPixel defined.
Artist { get; set; } Gets or sets the artist.
BitsPerPixel { get; } Gets the bits per pixel.
BitsPerSample { get; set; } Gets or sets the bits per sample.
BufferSizeHint { get; set; } Gets or sets the buffer size hint which is defined max allowed size for all internal buffers.
ByteOrder { get; set; } Gets or sets a value indicating the tiff byte order.
ColorMap { get; set; } Gets or sets the color map.
CompressedQuality { get; set; } Gets or sets compressed image quality. Used with the Jpeg compression.
Compression { get; set; } Gets or sets the compression.
Copyright { get; set; } Gets or sets the copyright.
DateTime { get; set; } Gets or sets the date and time.
DisableIccExport { get; set; } Gets or sets a value indicating whether ICC profile export is disabled (ICC profile is applied to the source pixels beforehand).
Disposed { get; } Gets a value indicating whether this instance is disposed.
DocumentName { get; set; } Gets or sets the name of the document.
ExifIfd { get; } Gets or sets the pointer to EXIF IFD.
ExtraSamples { get; } Gets the extra samples values.
FaxT4Options { get; set; } Gets or sets the fax t4 options.
FileStandard { get; set; } Gets or sets the TIFF file standard.
FillOrder { get; set; } Gets or sets the byte bits fill order.
FullFrame { get; set; } Gets or sets a value indicating whether [full frame].
HalfToneHints { get; set; } Gets or sets the halftone hints.
IccProfile { get; set; } Gets or sets the Icc profile stream.
ImageDescription { get; set; } Gets or sets the image description.
ImageLength { get; set; } Gets or sets the image length.
ImageWidth { get; set; } Gets or sets the image width.
InkNames { get; set; } Gets or sets the ink names.
IsExtraSamplesPresent { get; } Gets a value indicating whether the extra samples is present.
IsTiled { get; } Gets a value indicating whether image is tiled.
IsValid { get; } Gets a value indicating whether the TiffOptions have been properly configured. Use Validate method as to find the failure reason.
MaxSampleValue { get; set; } Gets or sets the max sample value.
MinSampleValue { get; set; } Gets or sets the min sample value.
MultiPageOptions { get; set; } The multipage options
Orientation { get; set; } Gets or sets the orientation.
PageName { get; set; } Gets or sets the page name.
PageNumber { get; set; } Gets or sets the page number tag.
override Palette { get; set; } Gets or sets the color palette.
Photometric { get; set; } Gets or sets the photometric.
PlanarConfiguration { get; set; } Gets or sets the planar configuration.
Predictor { get; set; } Gets or sets the predictor for LZW compression.
PremultiplyComponents { get; set; } Gets or sets a value indicating whether components must be premultiplied.
ProgressEventHandler { get; set; } Gets or sets the progress event handler.
override ResolutionSettings { get; set; } Gets or sets the resolution settings.
ResolutionUnit { get; set; } Gets or sets the resolution unit.
RowsPerStrip { get; set; } Gets or sets the rows per strip.
SampleFormat { get; set; } Gets or sets the sample format.
SamplesPerPixel { get; } Gets the samples per pixel. To change this property value use the BitsPerSample property setter.
ScannerManufacturer { get; set; } Gets or sets the scanner manufacturer.
ScannerModel { get; set; } Gets or sets the scanner model.
SmaxSampleValue { get; set; } Gets or sets the max sample value. The value has a field type which best matches the sample data (Byte, Short or Long type).
SminSampleValue { get; set; } Gets or sets the min sample value. The value has a field type which best matches the sample data (Byte, Short or Long type).
SoftwareType { get; set; } Gets or sets the software type.
Source { get; set; } Gets or sets the source to create image in.
StripByteCounts { get; set; } Gets or sets the strip byte counts.
StripOffsets { get; set; } Gets or sets the strip offsets.
SubFileType { get; set; } Gets or sets a general indication of the kind of data contained in this subfile.
Tags { get; set; } Gets or sets the tags.
TargetPrinter { get; set; } Gets or sets the target printer.
Threshholding { get; set; } Gets or sets the threshholding.
TileByteCounts { get; set; } Gets or sets the tile byte counts.
TileLength { get; set; } Gets ot sets tile length.
TileOffsets { get; set; } Gets or sets the tile offsets.
TileWidth { get; set; } Gets ot sets tile width.
TotalPages { get; } Gets the total pages.
ValidTagCount { get; } Gets the valid tag count. This is not the total tags count but the number of tags which may be preserved.
VectorRasterizationOptions { get; set; } Gets or sets the vector rasterization options.
override XmpData { get; set; } Gets or sets the XMP metadata container.
XPAuthor { get; set; } Gets or sets image author, which used by Windows Explorer.
XPComment { get; set; } Gets or sets comment on image, which used by Windows Explorer.
XPKeywords { get; set; } Gets or sets subject image, which used by Windows Explorer.
Xposition { get; set; } Gets or sets the x position.
XPSubject { get; set; } Gets or sets information about image, which used by Windows Explorer.
XPTitle { get; set; } Gets or sets information about image, which used by Windows Explorer.
Xresolution { get; set; } Gets or sets the x resolution.
YCbCrCoefficients { get; set; } Gets or sets the YCbCrCoefficients.
YCbCrSubsampling { get; set; } Gets or sets the subsampling factors for YCbCr photometric.
Yposition { get; set; } Gets or sets the y position.
Yresolution { get; set; } Gets or sets the y resolution.


Name Description
AddTag(TiffDataType) Adds a new tag.
AddTags(TiffDataType[]) Adds the tags.
virtual Clone() Clones this instance.
Dispose() Disposes the current instance.
GetTagByType(TiffTags) Gets the instance of the tag by type.
IsTagPresent(TiffTags) Determines whether tag is present in the options or not.
RemoveTag(TiffTags) Removes the tag.
Validate() Validates if options have valid combination of tags
static GetValidTagsCount(TiffDataType[]) Gets the valid tags count.


This example demonstrates the use of different classes from SaveOptions Namespace for export purposes. An image of type Gif is loaded into an instance of Image and then exported out to several formats.


string dir = "c:\\temp\\";

//Load an existing image (of type Gif) in an instance of Image class
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
    //Export to BMP file format using the default options
    image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());

    //Export to JPEG file format using the default options
    image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());

    //Export to PNG file format using the default options
    image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());

    //Export to TIFF file format using the default options
    image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));

The following example shows how to convert a multipage vector image to TIFF format in general way without referencing to a particular image type.


string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.tiff");

Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
    exportOptions.MultiPageOptions = null;

    // Export only first two pages. These pages will be presented as frames in the output TIFF.
    Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
    if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
        exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));

    if (image is Aspose.Imaging.VectorImage)
        exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
        exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;

    image.Save(outputFilePath, exportOptions);

This examples make use of GraphicsPath and Graphics class to create and manipulate Figures on an Image surface. Example creates a new Image (of type Tiff), clears the surface and draws paths with the help of GraphicsPath class. At the end DrawPath method exposed by Graphics class is called to render the paths on surface.


//Create an instance of FileStream
using (System.IO.FileStream stream = new System.IO.FileStream(@"C:\temp\output.tiff", System.IO.FileMode.Create))
    //Create an instance of TiffOptions and set its various properties
    Aspose.Imaging.ImageOptions.TiffOptions tiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);

    //Set the source for the instance of ImageOptions
    tiffOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //Create an instance of Image 
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(tiffOptions, 500, 500))
        //Create and initialize an instance of Graphics class
        Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

        //Clear Graphics surface

        //Create an instance of GraphicsPath class
        Aspose.Imaging.GraphicsPath graphicspath = new Aspose.Imaging.GraphicsPath();

        //Create an instance of Figure class
        Aspose.Imaging.Figure figure = new Aspose.Imaging.Figure();

        //Add Shapes to Figure object
        figure.AddShape(new Aspose.Imaging.Shapes.RectangleShape(new Aspose.Imaging.RectangleF(10f, 10f, 300f, 300f)));
        figure.AddShape(new Aspose.Imaging.Shapes.EllipseShape(new Aspose.Imaging.RectangleF(50f, 50f, 300f, 300f)));
        figure.AddShape(new Aspose.Imaging.Shapes.PieShape(new Aspose.Imaging.RectangleF(new Aspose.Imaging.PointF(250f, 250f), new Aspose.Imaging.SizeF(200f, 200f)), 0f, 45f));

        //Add Figure object to GraphicsPath

        //Draw path with Pen object of color Black
        graphics.DrawPath(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Black, 2), graphicspath);

        // save all changes.

See Also