<?xml version="1.0"?>
<doc>
  <assembly>
    <name>Leadtools.Codecs</name>
  </assembly>
  <members>
    <member name="T:Leadtools.Codecs.CodecsXpsLoadOptions">
      <summary>
            Provides options specifically for loading XML Paper Specification Format (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <remarks>
        <para>For more information, refer to 
            <see cref="T:Leadtools.Topics.FileFormatsXPSFormat">File Formats - XPS Format</see>.
            </para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsXpsLoadOptions.Resolution">
      <Q>Janice 8.13.07: I do not understand, "Specify 0 to get the default" 1.What is the default value?  2. Is this property a Size structure that represents the X and Y resolution (in dpi) for the file being loaded?</Q>
      <A>Kousay 8.15.07: I changed the remarks section to be more clear.</A>
      <summary>
            Gets or sets the resolution to load when loading XML Paper Specification (XPS) files.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <value>A Size structure that represents the resolution to load.</value>
      <remarks>
        <para>Specifies the resolution (in DPI) of the image to load. Specify
            <see cref="F:System.Drawing.Size.Empty">Size.Empty</see>/&gt; to use the default load resolution.</para>
        <para>The default value of the XPS load resolution is 96 by 96.</para>
        <para>Setting values of less than 0 will throw an exception.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsXpsSaveOptions">
      <summary>
            Provides options specifically for saving XML Paper Specification Format (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <remarks>
        <para>The XML Paper Specification Format (XPS) supports saving images with either CServe
            PNG or JPEG Compression.</para>
        <para>The following table shows the quality factor used when an image is saved with a particular
            format:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Format</term>
              <description>Property</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.Xps</see>
              </term>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor">CodecsXpsSaveOptions.PngQualityFactor</see>
              </description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg</see>
              </term>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor">CodecsXpsSaveOptions.JpegQualityFactor</see>
              </description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg422</see>
              </term>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor">CodecsXpsSaveOptions.JpegQualityFactor</see>
              </description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg411</see>
              </term>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor">CodecsXpsSaveOptions.JpegQualityFactor</see>
              </description>
            </item>
          </list>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor">
      <summary>
            Gets or sets the quality factor for saving XML Paper Specification Format (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <value>
            Any value betwee 0 and 9. 0 = (default compression), 1 (fastest compression) ...
            9 (highest compression ratio). Default value is 3.
            </value>
      <remarks>
            The <see cref="T:Leadtools.Codecs.RasterCodecs" /> object will use the <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.PngQualityFactor" /> value when images are
            saved with the <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.Xps</see> format.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsXpsSaveOptions.JpegQualityFactor">
      <summary>
            Gets or sets the quality factor for saving XML Paper Specification Format (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <value>
            A value from 2 to 255, where 2 is the highest quality and 255 is the most compression. You can also use
            a factor of 0 to produce lossless JPEG compressed images. Default value is 2 (Highest quality).
            </value>
      <remarks>
        <para>The <see cref="T:Leadtools.Codecs.RasterCodecs" /> object will use the <see cref="P:Leadtools.Codecs.CodecsXpsSaveOptions.JpegQualityFactor" /> value when images are
            saved with the following formats:</para>
        <para>
          <list type="bullet">
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg422</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.XpsJpeg411</see>
              </description>
            </item>
          </list>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsXpsOptions">
      <summary>
            Provides extra options for loading and saving XML Paper Specification (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsXpsOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.xps"
   Dim pngDestFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PngCompressed.xps"
   Dim jpegDestFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\JpegCompressed.xps"

   ' Set the resolution for loading XPS files to 300 by 300 DPI (Dots per inch)
   codecs.Options.Xps.Load.Resolution = New Size(300, 300)

   ' Load the source file
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Save this file as XPS with PNG compression and quality factor of 9 (highest compression)
   codecs.Options.Xps.Save.PngQualityFactor = 9
   codecs.Save(image, pngDestFileName, RasterImageFormat.Xps, 24)

   ' Save this file as XPS with JPEG 422 compression and quality factor of 255 (highest compression)
   codecs.Options.Xps.Save.JpegQualityFactor = 255
   codecs.Save(image, jpegDestFileName, RasterImageFormat.Xps, 24)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsXpsOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.xps";
   string pngDestFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PngCompressed.xps";
   string jpegDestFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\JpegCompressed.xps";

   // Set the resolution for loading XPS files to 300 by 300 DPI (Dots per inch)
   codecs.Options.Xps.Load.Resolution = new Size(300,300);

   // Load the source file
   RasterImage image = codecs.Load(srcFileName);

   // Save this file as XPS with PNG compression and quality factor of 9 (highest compression)
   codecs.Options.Xps.Save.PngQualityFactor = 9;
   codecs.Save(image, pngDestFileName, RasterImageFormat.Xps, 24);

   // Save this file as XPS with JPEG 422 compression and quality factor of 255 (highest compression)
   codecs.Options.Xps.Save.JpegQualityFactor = 255;
   codecs.Save(image, jpegDestFileName, RasterImageFormat.Xps, 24);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsXpsOptions.Load">
      <summary>
            Gets the options for loading XML Paper Specification (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <value>The XPS load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsXpsOptions.Save">
      <summary>
            Gets the options for saving XML Paper Specification (XPS) images.
            </summary>
      <keywords>XML Paper Specification|XPS</keywords>
      <value>The XPS save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsExtension">
      <summary>
            Exif extension information.
            </summary>
      <remarks>
            For more information on this class members and their use, refer to the Exif documentation for the "FlashPix" extensions,
            inside the APP2 markers.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtension.Name">
      <summary>
            Gets the name of the extension.
            </summary>
      <value>A <see cref="T:System.String" /> that represents the name of the extension.</value>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtension.Data">
      <summary>
            Gets an unmanaged pointer to the extension data.
            </summary>
      <value>An <see cref="T:System.IntPtr" /> that points to the unmanaged extension data. If the extension data is a stream, this
            property will be IntPtr.Zero.</value>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtension.DataLength">
      <summary>
            Gets the size in bytes of the extension data.
            </summary>
      <value>The size in bytes of the extension data. If the extension data is a stream, this value should be 0xFFFFFFFF</value>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtension.Clsid">
      <summary>
            Gets the CLSID that describes the extension data.
            </summary>
      <value>A <see cref="T:System.Guid" /> that describes the extension data.  This is valid only if <see cref="P:Leadtools.Codecs.CodecsExtension.DataLength" /> is 0xFFFFFFFF.</value>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtension.UCDefault">
      <summary>
            Reserved for internal use.
            </summary>
      <value>
            Reserved for internal use.
            </value>
      <noremarks />
      <noexample />
    </member>
    <member name="T:Leadtools.Codecs.CodecsExtensionListFlags">
      <summary>
            Flags that indicate the type of data contained in the  Exif extensions.
            </summary>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsExtensionListFlags.None">
      <summary>
            No flags being used.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsExtensionListFlags.Stamp">
      <summary>
        <para>A stamp is present. Most likely suitable for LCD displays (and bigger than the stamp stored in the Exif data).</para>
        <para>The stamp can be loaded with <see cref="M:Leadtools.Codecs.CodecsExtensionList.CreateStamp">CodecsExtensionList.CreateStamp</see>.</para>
        <para>Note that this stamp is independent of the regular stamp present in Exif files. Some Exif files have two stamps. The
            regular stamp is loaded with <see cref="M:Leadtools.Codecs.RasterCodecs.ReadStamp(System.String,System.Int32)">RasterCodecs.ReadStamp</see>, while the extension stamp is
            loaded with <see cref="M:Leadtools.Codecs.CodecsExtensionList.CreateStamp">CodecsExtensionList.CreateStamp</see>.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsExtensionListFlags.Audio">
      <summary>
            Embedded audio data is present. The <see cref="M:Leadtools.Codecs.CodecsExtensionList.GetAudioData(System.Int32)">CodecsExtensionList.GetAudioData</see>
            method can be called to get to the audio data.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsExtensionList">
      <summary>
            Exif extension information
            </summary>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.Dispose">
      <summary>
            Releases all resources used by this <see cref="T:Leadtools.Codecs.CodecsExtensionList" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.Finalize">
      <summary>
            This member overrides <see cref="M:System.Object.Finalize" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.Dispose(System.Boolean)">
      <summary>
            Releases all the resources used by this <see cref="T:Leadtools.Codecs.CodecsExtensionList" />.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.GetExtensions">
      <summary>
            Gets an array of objects containing the extension data.
            </summary>
      <returns>The array of <see cref="T:Leadtools.Codecs.CodecsExtension" /> objects containing the extension data.</returns>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.CreateStamp">
      <summary>
            Creates a stamp image.
            </summary>
      <returns>The stamp image created by this method.</returns>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsExtensionList.GetAudioData(System.Int32)">
      <summary>
            Gets the embedded audio data from the specified extension list.
            </summary>
      <param name="stream">Index of the audio stream to retrieve. The extensions may have more than one audio stream. This index
            is 0-based. Therefore, the first stream is stream 0, the second stream is stream 1, etc. To retrieve all the audio streams,
            retrieve the streams one by one until an empty <see cref="T:Leadtools.RasterNativeBuffer" /> is returned (empty
            <see cref="T:Leadtools.RasterNativeBuffer" /> will have a <see cref="P:Leadtools.RasterNativeBuffer.Data">RasterNativeBuffer.Data</see> set to
            IntPtr.Zero and <see cref="P:Leadtools.RasterNativeBuffer.Length">RasterNativeBuffer.Length</see> set to 0.</param>
      <returns>A <see cref="T:Leadtools.RasterNativeBuffer" /> object containing the audio data.</returns>
      <remarks>
        <para>The audio data is stored inside extensions in the WAVE format.</para>
        <para>The audio data can be played directly from memory, or the data can be written to a disk file and played from the
            disk. When writing the audio data to a disk file, give the file a .WAV extension.</para>
        <para>The audio data pointer returned is freed automatically when this <see cref="T:Leadtools.Codecs.CodecsExtensionList" /> object is disposed.
            so do not try to free this memory.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsExtensionList.Flags">
      <summary>
            Flags that indicate the type of data contained in the extensions.
            </summary>
      <value>The extension list flags.</value>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">RasterCodecs.ReadExtensions</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsLoadByteOrder">
      <summary>
            Indicates the desired byte order when loading image files.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.Rgb">
      <summary>
            Red-green-blue order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.Bgr">
      <summary>
            Blue-green-red order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.Gray">
      <summary>
            12 or 16-bit grayscale image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.RgbOrGray">
      <summary>
            Load the image as red, green, blue OR as a 12 or 16-bit grayscale image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.BgrOrGray">
      <summary>
            Load the image as blue, green, red OR as a 12 or 16-bit grayscale image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.Romm">
      <summary>
            ROMM order. ROMM only supports 24 and 48-bit images.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadByteOrder.BgrOrGrayOrRomm">
      <summary>
            Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. ROMM only supports 24 and 48-bit color
            images.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPlanarConfiguration">
      <summary>
            Indicates the planar configuration of the image data.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsPlanarConfiguration.Chunky">
      <summary>
            Chunky
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPlanarConfiguration.PlanarFormat">
      <summary>
            Planar format
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsSavePageMode">
      <summary>
            Indicates the operation to perform when saving multipage files.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsSavePageMode.Append">
      <summary>
            Append the page to the end of the file.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsSavePageMode.Insert">
      <summary>
            Insert the page at the specified index.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsSavePageMode.Replace">
      <summary>
            Replace the page at the specified index.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsSavePageMode.Overwrite">
      <summary>
            Overwrite the entire file.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsOverlayCallbackMode">
      <summary>
            Indicates the overlay callback mode.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsOverlayCallbackMode.LoadCall">
      <summary>
            First, try loading the overlay image from disk. If the load fails, the <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" /> method will be
            asked to provide the overlay image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsOverlayCallbackMode.CallLoad">
      <summary>
            First, call the <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" /> method. If the handler did not supply an overlay image, try loading the
            overlay image from disk.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsOverlayCallbackMode.CallOnly">
      <summary>
            Call the <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" /> method. If there is no <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" /> method passed, there
            is no overlay image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsOverlayCallbackMode.LoadOnly">
      <summary>
            Try to load the overlay image from disk. If the load fails, there is no overlay.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTiffPhotometricInterpretation">
      <summary>
            Indicates the photometric interpretation value for TIFF images.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.MinimumIsWhite">
      <summary>
            Grayscale image, minimum value is white.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.MinimumIsBlack">
      <summary>
            Grayscale image, minimum value is black.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.Rgb">
      <summary>
            RGB color model.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.Palette">
      <summary>
            color map indexed (palletized).
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.Mask">
      <summary>
            1-bit transparency mask.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.Separated">
      <summary>
            color separations (usually CMYK).
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.YcbCr">
      <summary>
            CCIR 601 YcbCr image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTiffPhotometricInterpretation.CieLab">
      <summary>
            1976 CIE L*a*b* image.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsWmfLoadOptions">
      <summary>
            Provides options specifically for loading WMF images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsWmfLoadOptions.XResolution">
      <summary>
            Gets or sets the horizontal resolution (DPI) to load.
            </summary>
      <value>The horizontal resolution (DPI) to load.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsWmfLoadOptions.YResolution">
      <summary>
            Gets or sets the vertical (DPI) to load.
            </summary>
      <value>The vertical resolution (DPI) to load.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsWmfOptions">
      <summary>
            Provides extra options for loading and saving WMF images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsWmfOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   'Setting new options.
   codecs.Options.Wmf.Load.XResolution = 500
   codecs.Options.Wmf.Load.YResolution = 500

   Dim image As RasterImage = codecs.Load(srcFileName)
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\WmfImage.wmf", RasterImageFormat.Wmf, image.BitsPerPixel)

   image = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\WmfImage.wmf")

   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\wmf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsWmfOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   //Setting new options.
   codecs.Options.Wmf.Load.XResolution = 500;
   codecs.Options.Wmf.Load.YResolution = 500;

   RasterImage image = codecs.Load(srcFileName);
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\WmfImage.wmf", RasterImageFormat.Wmf, image.BitsPerPixel);

   image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\WmfImage.wmf");

   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\wmf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsWmfOptions.Load">
      <summary>
            Gets the options for loading WMF images.
            </summary>
      <value>The WMF load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPdfTextEncoding">
      <summary>
            Indicates the type of text encoding to perform when saving PDF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPdfTextEncoding.None">
      <summary>
            No text encoding at all.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPdfTextEncoding.Base85">
      <summary>
            Use ASCII 85 text encoding algorithm.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPdfTextEncoding.Hex">
      <summary>
            Use ASCII HEX text encoding technique.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPdfLoadOptions">
      <summary>
            Provides options specifically for loading PDF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.UseLibFonts">
      <summary>
            Enables or disables use of the library installed fonts.
            </summary>
      <value>true to use the library installed fonts, false to use the system fonts.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.XResolution">
      <summary>
            Gets or sets the horizontal display resolution in dots per inch.
            </summary>
      <value>The horizontal display resolution in dots per inch.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.YResolution">
      <summary>
            Gets or sets the vertical display resolution in dots per inch.
            </summary>
      <value>The horizontal display vertical in dots per inch.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.DisplayDepth">
      <summary>
            Gets or sets the resulting image pixel depth. 
            </summary>
      <value>The resulting image pixel depth, must be 1, 4, 8, or 24.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.TextAlpha">
      <summary>
            Gets or sets the type of font anti-aliasing to use.
            </summary>
      <value>
        <para>The type of anti-aliasing to use.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>1</term>
              <description>Do not use font anti-aliasing.</description>
            </item>
            <item>
              <term>2</term>
              <description>Use 2-bit font anti-aliasing.</description>
            </item>
            <item>
              <term>4</term>
              <description>Use 4-bit font anti-aliasing.</description>
            </item>
          </list>
        </para>
      </value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.GraphicsAlpha">
      <summary>
            Gets or sets the type of graphics anti-aliasing to use.
            </summary>
      <value>
        <para>The type of anti-aliasing to use.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>1</term>
              <description>Do not use graphics anti-aliasing.</description>
            </item>
            <item>
              <term>2</term>
              <description>Use 2-bit graphics anti-aliasing.</description>
            </item>
            <item>
              <term>4</term>
              <description>Use 4-bit graphics anti-aliasing.</description>
            </item>
          </list>
        </para>
      </value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.Password">
      <summary>
            Gets or sets the password to use when loading encrypted files.
            </summary>
      <value>The password to use when loading encrypted files.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.DisableCropping">
      <summary>
            Enables or disables the cropping of files.
            </summary>
      <value>true to disable cropping of files, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfLoadOptions.DisableCieColors">
      <summary>
            Enables or disables the use of CIE colors.
            </summary>
      <value>true to disable the use of CIE colors, false otherwise.</value>
      <remarks>
            Disabling the use of CIE colors will result in faster loading.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPdfSaveOptions">
      <summary>
            Provides options specifically for saving PDF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.UserPassword">
      <summary>
            Gets or sets the user password to use when saving encrypted files.
            </summary>
      <value>The user password to use when saving encrypted files.</value>
      <remarks>
            This should be provided to protect the document from being opened/read.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.OwnerPassword">
      <summary>
            Gets or sets the owner password to use when saving encrypted files.
            </summary>
      <value>The owner password to use when saving encrypted files.</value>
      <remarks>
            This should be provided to prevent users from changing access/protection settings.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.Use128BitEncryption">
      <summary>
            Gets or sets a value which control the type of encryption to use.
            </summary>
      <value>true to use an RC4 128-bit encryption key, false to use an RC4 40-bit encryption key.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.PrintDocument">
      <summary>
            Enables or disables printing.
            </summary>
      <value>true to give the user of the PDF document permission to print the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.PrintFaithful">
      <summary>
            Enables or disables high-quality printing.
            </summary>
      <value>true to give the user of the PDF document permission to print the document in high quality.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.ModifyDocument">
      <summary>
            Enables or disables editing.
            </summary>
      <value>true to give the user of the PDF document permission to edit the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.ExtractText">
      <summary>
            Enables or disables text copying.
            </summary>
      <value>true to give the user of the PDF document permission to extract text from the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.ExtractTextGraphics">
      <summary>
            Enables or disables graphics copying.
            </summary>
      <value>true to give the user of the PDF document permission to extract graphics from the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.ModifyAnnotation">
      <summary>
            Enables or disables annotation editing.
            </summary>
      <value>true to give the user of the PDF document permission to edit annotations in the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.FillForm">
      <summary>
            Enables or disables form filling.
            </summary>
      <value>true to give the user of the PDF document permission to fill in forms in the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.AssembleDocument">
      <summary>
            Enables or disables document assembly.
            </summary>
      <value>true to give the user of the PDF document permission to add pages to or delete pages from the document.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.TextEncoding">
      <summary>
            Gets or sets the text encoding to use.
            </summary>
      <value>The text encoding to use.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.LowMemoryUsage">
      <summary>
            Gets or sets a value indicating whether to use less memory when creating a PDF file with JPEG or Fax compression.
            </summary>
      <value>true to use less memory when creating a PDF file with JPEG or Fax compression; otherwise, false.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfSaveOptions.UseImageResolution">
      <summary>
            Gets or sets a value indicating whether to use the image resolution (DPI) in calculating page dimensions when saving a PDF file.
            </summary>
      <value>true to use the image resolution (DPI) in calculating page dimensions when saving a PDF file; otherwise, false.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPdfOptions">
      <summary>
            Provides extra options for loading and saving PDF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsPdfOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation.pdf"

   ' Check if the PDF engine is installed then get the load and save options of the PDF files.
   If codecs.Options.Pdf.IsEngineInstalled Then
      ' Resulting image pixel depth.
      codecs.Options.Pdf.Load.DisplayDepth = 24
      codecs.Options.Pdf.Load.GraphicsAlpha = 4
      codecs.Options.Pdf.Load.Password = ""

      ' Type of font anti-aliasing to use.
      codecs.Options.Pdf.Load.TextAlpha = 4
      codecs.Options.Pdf.Load.UseLibFonts = True

      ' Horizontal,vertical  display resolution in dots per inch.
      codecs.Options.Pdf.Load.XResolution = 150
      codecs.Options.Pdf.Load.YResolution = 150

      Dim image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)

      ' Set access rights for the user when he\she opens the file we create
      codecs.Options.Pdf.Save.AssembleDocument = True
      codecs.Options.Pdf.Save.ExtractText = True
      codecs.Options.Pdf.Save.ExtractTextGraphics = True
      codecs.Options.Pdf.Save.PrintDocument = False
      codecs.Options.Pdf.Save.FillForm = True
      codecs.Options.Pdf.Save.ModifyAnnotation = True
      codecs.Options.Pdf.Save.ModifyDocument = True
      codecs.Options.Pdf.Save.OwnerPassword = "LEAD Technologies"
      codecs.Options.Pdf.Save.PrintFaithful = False
      codecs.Options.Pdf.Save.TextEncoding = CodecsPdfTextEncoding.Hex
      codecs.Options.Pdf.Save.Use128BitEncryption = True
      codecs.Options.Pdf.Save.UserPassword = "LEAD"

      ' Save the image back as PDF
      codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation_test.pdf", RasterImageFormat.RasPdf, 24)

      ' And Load it back
      image.Dispose()
      image = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation_test.pdf")
      codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\pdf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)
      image.Dispose()
   Else
      MessageBox.Show("PDF Engine is not installed!")
   End If

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsPdfOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation.pdf";

   // Check if the PDF engine is installed then get the load and save options of the PDF files.
   if (codecs.Options.Pdf.IsEngineInstalled)
   {
      // Resulting image pixel depth.
      codecs.Options.Pdf.Load.DisplayDepth = 24;
      codecs.Options.Pdf.Load.GraphicsAlpha = 4;
      codecs.Options.Pdf.Load.Password = @"";

      // Type of font anti-aliasing to use.
      codecs.Options.Pdf.Load.TextAlpha = 4;
      codecs.Options.Pdf.Load.UseLibFonts = true;

      // Horizontal,vertical  display resolution in dots per inch.
      codecs.Options.Pdf.Load.XResolution = 150;
      codecs.Options.Pdf.Load.YResolution = 150;

      RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

      // Set access rights for the user when he\she opens the file we create
      codecs.Options.Pdf.Save.AssembleDocument = true;
      codecs.Options.Pdf.Save.ExtractText = true;
      codecs.Options.Pdf.Save.ExtractTextGraphics = true;
      codecs.Options.Pdf.Save.PrintDocument = false;
      codecs.Options.Pdf.Save.FillForm = true;
      codecs.Options.Pdf.Save.ModifyAnnotation = true;
      codecs.Options.Pdf.Save.ModifyDocument = true;
      codecs.Options.Pdf.Save.OwnerPassword = "LEAD Technologies";
      codecs.Options.Pdf.Save.PrintFaithful = false;
      codecs.Options.Pdf.Save.TextEncoding = CodecsPdfTextEncoding.Hex;
      codecs.Options.Pdf.Save.Use128BitEncryption = true;
      codecs.Options.Pdf.Save.UserPassword = "LEAD";

      // Save the image back as PDF
      codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation_test.pdf", Leadtools.RasterImageFormat.RasPdf, 24);

      // And Load it back
      image.Dispose();
      image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PDFSegmentation_test.pdf");
      codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\pdf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);
      image.Dispose();
   }
   else
      MessageBox.Show("PDF Engine is not installed!");

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfOptions.Load">
      <summary>
            Gets the options for loading PDF images.
            </summary>
      <value>The PDF load options.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfOptions.Save">
      <summary>
            Gets the options for saving PDF images.
            </summary>
      <value>The PDF save options.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfOptions.InitialPath">
      <summary>
            Gets and sets the path to the PDF runtime files.
            </summary>
      <value>The path to the PDF runtime files, or an empty string, if the default location is to be used.</value>
      <remarks>
        <para>Set this property to override the default path of the PDF initialization directories. This allows the user to
            chose which PDF runtime library his or her application loads at runtime.</para>
        <para>The default PDF initialization directories path is stored in the system registry key:</para>
        <para>
          <c>"HKEY_LOCAL_MACHINE\SOFTWARE\LEAD Technologies, Inc.\Pdf\GS_LIB"</c>
        </para>
        <para>If you set this property to an empty string (length = 0), then the engine will look for the PDF initialization files
            in the default PDF initialization directories path (specified by the registry key).</para>
        <para>The new path must both exist prior to setting this property and contain the Lib, Font, and Resource directories for
            the PDF Filter. If either of the above is not true, the engine fails and returns an error when the user attempts to load
            a PDF file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPdfOptions.IsEngineInstalled">
      <summary>
            Determines whether or not the Leadtools PDF Runtime files are installed.
            </summary>
      <value>true if the Leadtools PDF Runtime files are installed, false if they are missing.</value>
      <remarks>
            Use this property to determine if the Leadtools PDF Runtime files (which are required to load PDF images) are installed on
            the system.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingPDFPluginFeatures">Implementing PDF Plug in Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsLoadOptions">
      <summary>
            Provides access to generic file load options.
            </summary>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsLoadOptions.Reset">
      <summary>
            Resets this instance of <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> to the default values.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Markers">
      <summary>
            Enables or disables loading metadata markers during image file load.
            </summary>
      <value>true to enable loading metadata markers if present in the file, false to ignore them.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.AllocateImage">
      <summary>
            Enables or disables the allocation of memory for the storage of the image data.
            </summary>
      <value>true to have Leadtools do the necessary allocation, false to disable it.</value>
      <remarks>
            If you do not allow Leadtools to allocate the memory for the storage of the image data, then you should process the data
            manually using the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see> event.
            </remarks>
      <example>
        <code lang="VB">
Public Sub AllocateImageExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   'Setting the loading options.
   'allow LEADTOOLS to allocate the image data
   codecs.Options.Load.AllocateImage = True
   'keeping the loaded image data compressed in memory.
   codecs.Options.Load.Compressed = True
   codecs.Options.Load.DiskMemory = False
   'force a palletized image to be dithered to the LEAD fixed palette.
   codecs.Options.Load.FixedPalette = True
   'we know the format of the file
   codecs.Options.Load.Format = RasterImageFormat.Cmp
   'disable loading metadata markers if present in the file, false to ignore them.
   codecs.Options.Load.Markers = False
   codecs.Options.Load.NoDiskMemory = True
   codecs.Options.Load.NoInterlace = False
   codecs.Options.Load.NoTiledMemory = True
   codecs.Options.Load.Passes = 0
   'ignore the view perspective stored in the file.
   codecs.Options.Load.Rotated = False
   'set negative pixel values to 0.
   codecs.Options.Load.Signed = False
   codecs.Options.Load.InitAlpha = True
   codecs.Options.Load.StoreDataInImage = True
   'load super-compressed in memory
   codecs.Options.Load.SuperCompressed = True
   codecs.Options.Load.TiledMemory = False
   codecs.Options.Load.XResolution = 350
   codecs.Options.Load.YResolution = 350

   Dim image As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp")

   'Meta file's comments will be saved.
   codecs.Options.Save.Comments = True
   codecs.Options.Save.FixedPalette = True
   codecs.Options.Save.GeoKeys = False
   'Tiff file output will be gray.
   codecs.Options.Save.GrayOutput = True
   'Meta file's markers will be saved.
   codecs.Options.Save.Markers = True
   codecs.Options.Save.MotorolaOrder = False
   codecs.Options.Save.OptimizedPalette = True
   codecs.Options.Save.Password = "LEADTOOLS"

   Dim resolutions As System.Drawing.Size() = New Size(0) {}
   resolutions(0).Width = 350
   resolutions(0).Height = 350

   codecs.Options.Save.SetResolutions(resolutions)
   'Meta file's tags will be saved.
   codecs.Options.Save.Tags = True
   codecs.Options.Save.UseImageDitheringMethod = True

   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\allocate_image.tif", RasterImageFormat.Tif, 8, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void AllocateImageExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   //Setting the loading options.
   //allow LEADTOOLS to allocate the image data
   codecs.Options.Load.AllocateImage = true;
   //keeping the loaded image data compressed in memory.
   codecs.Options.Load.Compressed = true;
   codecs.Options.Load.DiskMemory = false;
   //force a palletized image to be dithered to the LEAD fixed palette.
   codecs.Options.Load.FixedPalette = true;
   //we know the format of the file
   codecs.Options.Load.Format = RasterImageFormat.Cmp;
   //disable loading metadata markers if present in the file, false to ignore them.
   codecs.Options.Load.Markers = false;
   codecs.Options.Load.NoDiskMemory = true;
   codecs.Options.Load.NoInterlace = false;
   codecs.Options.Load.NoTiledMemory = true;
   codecs.Options.Load.Passes = 0;
   //ignore the view perspective stored in the file.
   codecs.Options.Load.Rotated = false;
   //set negative pixel values to 0.
   codecs.Options.Load.Signed = false;
   codecs.Options.Load.InitAlpha = true;
   codecs.Options.Load.StoreDataInImage = true;
   //load super-compressed in memory
   codecs.Options.Load.SuperCompressed = true;
   codecs.Options.Load.TiledMemory = false;
   codecs.Options.Load.XResolution = 350;
   codecs.Options.Load.YResolution = 350;

   RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp");

   //Meta file's comments will be saved.
   codecs.Options.Save.Comments = true;
   codecs.Options.Save.FixedPalette = true;
   codecs.Options.Save.GeoKeys = false;
   //Tiff file output will be gray.
   codecs.Options.Save.GrayOutput = true;
   //Meta file's markers will be saved.
   codecs.Options.Save.Markers = true;
   codecs.Options.Save.MotorolaOrder = false;
   codecs.Options.Save.OptimizedPalette = true;
   codecs.Options.Save.Password = "LEADTOOLS";

   System.Drawing.Size[] resolutions = new Size[1];
   resolutions[0].Width = 350;
   resolutions[0].Height = 350;

   codecs.Options.Save.SetResolutions(resolutions);
   //Meta file's tags will be saved.
   codecs.Options.Save.Tags = true;
   codecs.Options.Save.UseImageDitheringMethod = true;

   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\allocate_image.tif", RasterImageFormat.Tif, 8, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.StoreDataInImage">
      <summary>
            Enables or disables the automatic storage of the image data into the <see cref="T:Leadtools.RasterImage" /> during a file load process.
            </summary>
      <value>true to have Leadtools store the loaded image data into the <see cref="T:Leadtools.RasterImage" />, false to disable it.</value>
      <remarks>
            If you do not allow Leadtools to allocate the memory for the storage of the image data, then you should process the data
            manually using the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see> event.
            </remarks>
      <example>For an example, refer to <see cref="P:Leadtools.Codecs.CodecsLoadOptions.AllocateImage" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Format">
      <summary>
            Gets or sets the load format.
            </summary>
      <value>A <see cref="T:Leadtools.RasterImageFormat" /> enumeration value that specifies the load format.</value>
      <remarks>
            By default, the value of this property is set to false.  This means that the <see cref="T:Leadtools.Codecs.RasterCodecs" /> object should try
            and recognize the format of the image its trying to load itself.  If you know the format of the file, pass it to this member
            prior to calling <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)">RasterCodecs.Load</see>, this will skip the format recognation process and
            speed up the load operation.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.XResolution">
      <summary>
            Gets or sets the horizontal resolution (DPI).
            </summary>
      <value>The horizontal resolution (DPI).</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.YResolution">
      <summary>
            Gets or sets the vertical resolution (DPI).
            </summary>
      <value>The vertical resolution (DPI).</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Passes">
      <summary>
            Gets or sets the number of passes (scans through the image) when loading a progressive image (JPEG mainly).
            </summary>
      <value>
        <para>The number of passes (scans through the image) when loading a progressive image.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>Any positive number.</term>
              <description>Load a progressive file showing at most the specified number of passes.</description>
            </item>
            <item>
              <term>0</term>
              <description>Load the file in one pass.</description>
            </item>
            <item>
              <term>-1</term>
              <description>Load a progressive file showing only significant scans.</description>
            </item>
            <item>
              <term>-2</term>
              <description>Load a progressive file showing all the scans.</description>
            </item>
          </list>
        </para>
      </value>
      <remarks>
        <para>This value is also used when loading JBIG files to determine the number of resolutions to load to create a
            progressive load effect.</para>
        <para>This property controls the number of times the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see> event
            can be called for a particular row. If you do not use the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>
            event, this value is ignored.The <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see> event can be used to
            implement a paint while load feature. For progressive files, the event is called several times for the same image row. The
            quality of the row is improved with every call. The improvements in some passes do not have visual improvements, so it is
            recommended you show only the significant scans (-1).</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ControllingProgressiveLoadsAndSaves">Controlling Progressive Loads and Saves</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <seealso cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.Passes">CodecsJpegSaveOptions.Passes</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Rotated">
      <summary>
            Indicates whether or not to load files without rotating them.
            </summary>
      <value>true to load files rotated, false to ignore the view perspective stored in the file.</value>
      <remarks>This affects files that can be saved with a rotated view perspective.</remarks>
      <seealso cref="T:Leadtools.Topics.AccountingForViewPerspective">Accounting for View Perspective</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Signed">
      <summary>
            Indicates whether or not to load the image with negative pixel values.
            </summary>
      <value>true to load and keep negative pixel values, false to set negative pixel values to 0.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.InitAlpha">
      <summary>
            Indicates whether or not to initialize the alpha channel when loading images as 32 or 64-bit.
            </summary>
      <value>true to set the alpha channel to ones (0xFF for 8-bit and OxFFFF for 16-bit), false to set the alpha channel to zeros.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.FixedPalette">
      <summary>
            Enables or disables loading the image to the LEAD fixed palette.
            </summary>
      <value>true to force a palletized image to be dithered to the LEAD fixed palette.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.NoInterlace">
      <summary>
            Enables or disables loading files as interlaced.
            </summary>
      <value>When set to true, the Load methods pass image data in the order that is displayed, regardless of how it is
            stored in the file.</value>
      <remarks>
            Set this flag if your program does not handle interlaced file formats.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.Compressed">
      <summary>
            Enables or disables keeping the loaded image data compressed in memory.
            </summary>
      <value>true to keep loaded data compressed in memory.</value>
      <remarks>
            If possible, load the file as a 1-bit RLE-compressed image.
            </remarks>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.SuperCompressed">
      <summary>
            Enables or disables keeping the loaded image data compressed in memory.
            </summary>
      <value>true to keep loaded data compressed in memory.</value>
      <remarks>
            If possible, load the file as a 24-bit LEAD Super-compressed image.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.TiledMemory">
      <summary>
            Gets or sets a value indictaing whether to use tiled memory when loading an image.
            </summary>
      <value>true to load the image using tiled; false otherwise.</value>
      <remarks>
            When the value of this property is true, the image is created where the data pointers are maintained in tiles,
            useful for very large images.
            </remarks>
      <example>For an example on changing the default load memory mode, refer to <see cref="P:Leadtools.Codecs.CodecsLoadOptions.DiskMemory" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.NoTiledMemory">
      <summary>
            Gets or sets a value indictaing whether to allow tiled images.
            </summary>
      <value>true to prevent tiled image; false otherwise.</value>
      <remarks>
            When using tiled memory, the image is created where the data pointers are maintained in tiles,
            useful for very large images.  Setting the value of this property to true will prevent the image
            from being created in tiles.
            </remarks>
      <example>For an example on changing the default load memory mode, refer to <see cref="P:Leadtools.Codecs.CodecsLoadOptions.DiskMemory" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.DiskMemory">
      <summary>
            Gets or sets a value indictaing whether to use disk memory when loading an image.
            </summary>
      <value>true to load the image using disk memory; false otherwise.</value>
      <remarks>
            When the value of this property is true, the image is stored in disk and not in conventional memory.
            </remarks>
      <example>
        <code lang="VB">
Public Sub DiskMemoryExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim fileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   ' first, load the image using the default
   Dim image As RasterImage = codecs.Load(fileName)

   ' make sure the image uses conventional memory
   If image.IsConventionalMemory Then
      Console.WriteLine("This image uses conventional memory")
   Else
      MessageBox.Show("This should not happen!!")
   End If

   image.Dispose()

   ' now, load the same image this time using disk memory
   codecs.Options.Load.DiskMemory = True
   image = codecs.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)

   ' make sure the image uses unmanaged memory
   If image.IsDiskMemory Then
      Console.WriteLine("This image uses disk memory")
   Else
      MessageBox.Show("This should not happen!!")
   End If

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void DiskMemoryExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string fileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   // first, load the image using the default
   RasterImage image = codecs.Load(fileName);

   // make sure the image uses conventional memory
   if (image.IsConventionalMemory)
      Console.WriteLine("This image uses conventional memory");
   else
      MessageBox.Show("This should not happen!!");

   image.Dispose();

   // now, load the same image this time using disk memory
   codecs.Options.Load.DiskMemory = true;
   image = codecs.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

   // make sure the image uses unmanaged memory
   if (image.IsDiskMemory)
      Console.WriteLine("This image uses disk memory");
   else
      MessageBox.Show("This should not happen!!");

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.NoDiskMemory">
      <summary>
            Gets or sets a value indictaing whether to allow disk memory when loading an image.
            </summary>
      <value>true to prevent loading the image using disk memory; false otherwise.</value>
      <remarks>
            When using tiled memory, the image data is stored in disk and not in conventional memory.  Setting the
            value of this property to true will prevent the image from being created in disk.
            </remarks>
      <example>For an example on changing the default load memory mode, refer to <see cref="P:Leadtools.Codecs.CodecsLoadOptions.DiskMemory" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadOptions.LoadCorrupted">
      <summary>
            Indicates whether or not to load corrupted files without throwing an exception.
            </summary>
      <value>true to load corrupted files, false to throw an exception if the file cannot be completely loaded successfully.</value>
      <remarks>This mainly applies to JPEG compressed files that have corruption in the compressed data.  If this property is set to True, then LEADTOOLS will load as much of the image data as possible, and will not throw an exception.</remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsSaveOptions">
      <summary>
            Provides access to generic file save options.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsSaveOptions.Reset">
      <summary>
            Intializes this instance of <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> to the default values.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsSaveOptions.GetResolutions">
      <summary>
            Gets the resolutions to save when saving multi-resolution files.
            </summary>
      <returns>An array of <see cref="T:System.Drawing.Size" /> structures indicating the resolutions to save.</returns>
      <remarks>
        <para>Currently, this only works with the JBIG format.</para>
        <para>For JBIG, the maximum number of resolutions that can be saved is 29.</para>
        <para>For a JBIG file, the values of different resolutions are implied because the dimensions of each resolution layer are
            half the dimensions of the one directly above it.</para>
        <para>
          <see cref="M:Leadtools.Codecs.CodecsSaveOptions.GetResolutions" /> and <see cref="M:Leadtools.Codecs.CodecsSaveOptions.SetResolutions(System.Drawing.Size[])" /> are used to determine the highest resolution layer
            which will be saved in a file. You can fill the array with an actual width and height, or you can fill either the width or
            height with a valid value, and specify 0 for the other dimension to allow Leadtools to calculate that dimension based on
            the image's aspect ratio during the next save operation.  Note that for JBIG, all the values set in the array are stored,
            but only the first item is used during an actual file save process.</para>
        <para>Ex.</para>
        <para>
          <code>
              uCount = 3
              Resolution[0].Width = 800
              Resolution[0].Height = 0
            </code>
        </para>
        <para>If you then save an image that is 1600 x 1200, the resolutions that are stored in the file would be:</para>
        <para>
          <code>
               800 x 600
               400 x 300
               200 x 150
            </code>
        </para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsSaveOptions.SetResolutions(System.Drawing.Size[])">
      <summary>
            Sets the resolutions to save when saving multi-resolution files.
            </summary>
      <param name="resolutions">An array of <see cref="T:System.Drawing.Size" /> structures indicating the resolutions to save.</param>
      <remarks>
        <para>Currently, this only works with the JBIG format.</para>
        <para>For JBIG, the maximum number of resolutions that can be saved is 29.</para>
        <para>For a JBIG file, the values of different resolutions are implied because the dimensions of each resolution layer are
            half the dimensions of the one directly above it.</para>
        <para>
          <see cref="M:Leadtools.Codecs.CodecsSaveOptions.GetResolutions" /> and <see cref="M:Leadtools.Codecs.CodecsSaveOptions.SetResolutions(System.Drawing.Size[])" /> are used to determine the highest resolution layer
            which will be saved in a file. You can fill the array with an actual width and height, or you can fill either the width or
            height with a valid value, and specify 0 for the other dimension to allow Leadtools to calculate that dimension based on
            the image's aspect ratio during the next save operation.  Note that for JBIG, all the values set in the array are stored,
            but only the first item is used during an actual file save process.</para>
        <para>Ex.</para>
        <para>
          <code>
              uCount = 3
              Resolution[0].Width = 800
              Resolution[0].Height = 0
            </code>
        </para>
        <para>If you then save an image that is 1600 x 1200, the resolutions that are stored in the file would be:</para>
        <para>
          <code>
               800 x 600
               400 x 300
               200 x 150
            </code>
        </para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.Markers">
      <summary>
            Enables or disables saving metadata markers during file save.
            </summary>
      <value>true to save any existing metadata markers.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.Tags">
      <summary>
            Enables or disables saving metadata tags during file save.
            </summary>
      <value>true to save any existing metadata tags.</value>
      <remarks>When LEADTOOLS saves an image that contains tags, the tags are always written first and the image data afterwards. This order is not configurable.</remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.GeoKeys">
      <summary>
            Enables or disables saving GeoKey metadata during file save.
            </summary>
      <value>true to save any existing GeoKey metadata.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.Comments">
      <summary>
            Enables or disables saving metadata comments during file save.
            </summary>
      <value>true to save any existing metadata comments.</value>
      <remarks>When LEADTOOLS saves an image that contains tags, the tags are always written first and the image data 
            afterwards. This order is not configurable. LEADTOOLS treats non-image data as comments. For information about using 
            this function to support FlashPix, refer to <see cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended 
            FlashPix Support</see>.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.Password">
      <summary>
            Gets or sets the password used when saving encrypted files.
            </summary>
      <value>The password used when saving encrypted files.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.MotorolaOrder">
      <summary>
            Enables or disables saving the file as Motorola byte order when possible.
            </summary>
      <value>true to save the file using Motorola byte order, false to save the file using Intel byte order.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.FixedPalette">
      <summary>
            Enables or disables saving the file using the LEAD fixed palette.
            </summary>
      <value>true to force the saved image to use the LEAD fixed palette.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.OptimizedPalette">
      <summary>
            Enables or disables saving the file using an optimized palette.
            </summary>
      <value>true to force the image to be saved using an optimized palette.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.GrayOutput">
      <summary>
            Enables or disables saving a TIFF file as grayscale, without a palette.
            </summary>
      <value>true to force the output TIFF file to be saved as grayscale, without a palette</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.UseImageDitheringMethod">
      <summary>
            Gets or sets a value indicating whether to use the image
            <see cref="P:Leadtools.RasterImage.DitheringMethod">RasterImage.DitheringMethod</see>.
            </summary>
      <value>true to use the image <see cref="P:Leadtools.RasterImage.DitheringMethod">RasterImage.DitheringMethod</see>;
            otherwise, false.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveOptions.InitAlpha">
      <summary>
            Indicates whether or not to initialize the alpha channel when saving images as 32 or 64-bit.
            </summary>
      <value>true to set the alpha channel to ones (0xFF for 8-bit and OxFFFF for 16-bit), false to set the alpha channel to zeros.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsOptions">
      <summary>
            Provides access to all the specific file format load and save options supported by Leadtools.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="P:Leadtools.Codecs.CodecsLoadOptions.AllocateImage" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOptions.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsOptions" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOptions.Dispose">
      <summary>
            Releases all resources used by this <see cref="T:Leadtools.Codecs.CodecsOptions" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOptions.Finalize">
      <summary>
            This member overrides <see cref="M:System.Object.Finalize" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOptions.Dispose(System.Boolean)">
      <summary>
            Releases all the resources used by this <see cref="T:Leadtools.Codecs.CodecsOptions" />.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOptions.Clone">
      <summary>
            Creates an exact copy of the current page of this <see cref="T:Leadtools.Codecs.CodecsOptions" />.
            </summary>
      <returns>The <see cref="T:Leadtools.Codecs.CodecsOptions" /> this method creates.</returns>
      <noremarks />
      <noexample />
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Load">
      <summary>
            Gets the generic load options.
            </summary>
      <value>The generic load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Save">
      <summary>
            Gets the generic save options.
            </summary>
      <value>The generic save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Abc">
      <summary>
            Gets the ABC load and save options.
            </summary>
      <value>The ABC load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Ecw">
      <summary>
            Gets the ECW load and save options.
            </summary>
      <value>The ECW load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEcwOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Eps">
      <summary>
            Gets the EPS load and save options.
            </summary>
      <value>The EPS load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Fpx">
      <summary>
            Gets the FPX load and save options.
            </summary>
      <value>The FPX load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsFpxOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Gif">
      <summary>
            Gets the GIF load and save options.
            </summary>
      <value>The GIF load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Jbig">
      <summary>
            Gets the JBIG load and save options.
            </summary>
      <value>The JBIG load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbigOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Jbig2">
      <summary>
            Gets the JBIG2 load and save options.
            </summary>
      <value>The JBIG2 load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Jpeg">
      <summary>
            Gets the JPEG and LEAD CMP load and save options.
            </summary>
      <value>The JPEG and LEAD CMP load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Jpeg2000">
      <summary>
            Gets the JPEG 2000 and LEAD CMW load and save options.
            </summary>
      <value>The JPEG 2000 and LEAD CMW load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Pcd">
      <summary>
            Gets the PCD load and save options.
            </summary>
      <value>The PCD load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPcdOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Pdf">
      <summary>
            Gets the PDF load and save options.
            </summary>
      <value>The PDF load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Png">
      <summary>
            Gets the PNG load and save options.
            </summary>
      <value>The PNG load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Ptoka">
      <summary>
            Gets the PTOKA load and save options.
            </summary>
      <value>The PTOKA load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPtokaOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Raw">
      <summary>
            Gets the RAW load and save options.
            </summary>
      <value>The RAW load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRawOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Rtf">
      <summary>
            Gets the RTF load and save options.
            </summary>
      <value>The RTF load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Sid">
      <summary>
            Gets the SID load and save options.
            </summary>
      <value>The SID load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsSidOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Tiff">
      <summary>
            Gets the TIFF load and save options.
            </summary>
      <value>The TIFF load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Wmf">
      <summary>
            Gets the WMF load and save options.
            </summary>
      <value>The WMF load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Txt">
      <summary>
            Gets the TEXT load and save options.
            </summary>
      <value>The TEXT load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOptions.Xps">
      <summary>
            Gets the XPS load and save options.
            </summary>
      <value>The XML Paper Specification (XPS) load and save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsSaveImageEventArgs">
      <summary>
            Provides information for the <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Image">
      <summary>
            Gets the <see cref="T:Leadtools.RasterImage" /> object being saved.
            </summary>
      <value>The <see cref="T:Leadtools.RasterImage" /> object being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.FileName">
      <summary>
            Gets the name of the file currently being saved.
            </summary>
      <value>A <see cref="T:System.String" /> containing the name of the file currently being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Stream">
      <summary>
            Gets the stream object currently being saved.
            </summary>
      <value>The <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Stream" /> object currently being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.OffsetValid">
      <summary>
            Gets a value that determines whether the <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Offset" /> property is valid.
            </summary>
      <value>true if the value in the <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Offset" /> property is valid, false if it is being ignored.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Offset">
      <summary>
            Gets the offset to the start of the image data.
            </summary>
      <value>The offset to the start of the image data.</value>
      <remarks>
        <para>This is only valid if <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.OffsetValid" /> is true.</para>
        <para>This is the same value passed to the <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32)">RasterCodecs.Save</see> methods that accepts a
            <paramref name="offset" /> parameter.</para>
      </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Page">
      <summary>
            Gets the page number currently being saved.
            </summary>
      <value>The 1-based page number currently being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.PageCount">
      <summary>
            Gets the total number of pages being saved.
            </summary>
      <value>The total number of pages being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Cancel">
      <summary>
            Gets or sets a value which allows the user to abort the save process.
            </summary>
      <value>true to abort the save process, false to continue normally.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Row">
      <summary>
            Gets the current image row number of the first line in <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.
            </summary>
      <value>The current image row number of the first line in <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Lines">
      <summary>
            Gets the number of lines to copy from <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.
            </summary>
      <value>The number of lines to copy from <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer">
      <summary>
            Gets a pointer to the unmanaged buffer containing one or more lines of output image data that the you must provide.
            </summary>
      <value>A pointer to the unmanaged buffer containing one or more lines of output image data that the you must provide.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Length">
      <summary>
            Gets the number of bytes in the data in <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.
            </summary>
      <value>The number of bytes in the data in <see cref="P:Leadtools.Codecs.CodecsSaveImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.SaveImage">RasterCodecs.SaveImage</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTiffImageInfo">
      <summary>
            Provides information specific to TIFF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffImageInfo.HasNoPalette">
      <summary>
            Determines if the image has no palette.
            </summary>
      <value>true if the image is saved without a palette, false if the image is saved with a palette.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffImageInfo.IsImageFileDirectoryOffsetValid">
      <summary>
            Determines whether or not the image has a valid image file directory (IFD).
            </summary>
      <value>true if the image has a valid IFD, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffImageInfo.ImageFileDirectoryOffset">
      <summary>
            Gets the image file directory offset.
            </summary>
      <value>The image file directory offset.</value>
      <remarks>
            Use this to speed up the handling of TIFF files with many pages.
            </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsCmpQualityFactorPredefined">
      <summary>
            Indicates the pre-defined quality factor for saving LEAD CMP compressed images.
            </summary>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.PerfectQuality1">
      <summary>
        <para>Perfect quality 1</para>
        <para>This option compresses all colors of a 24-bit file and maintains the quality of the original image at a smaller file size. As the name suggests, there is no visual loss of color at this setting.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.PerfectQuality2">
      <summary>
        <para>Perfect quality 2</para>
        <para>This will produce a smaller file size than PQ1 while maintaining similar quality.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.SuperQuality">
      <summary>
        <para>Quality far more important than size</para>
        <para>This option removes colors not noticed by the human eye. Most viewers cannot tell the difference between an image compressed at this level and the original image.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.Quality">
      <summary>
        <para>Quality more important than size</para>
        <para>While more colors are removed, most of them are colors or shades that are close to one another. The compressed image will appear very much like the original image. It will take some study to see the difference.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.QualityAndSize">
      <summary>
        <para>Quality and size equally important</para>
        <para>This option provides the highest compression while maintaining good image quality. Try this option first, then move up or down the list accordingly to obtain acceptable compression size and image quality.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.Sharp">
      <summary>
        <para>Size more important that quality (sharp)</para>
        <para>This option is recommended for images that have sharp edges. For example, an image that has a text overlay or an image with many straight lines. While it creates a larger file than the next option, it retains better edges.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.LessTiling">
      <summary>
        <para>Size more important than quality (less tiling)</para>
        <para>This option produces less tiling in the image than the previous options. However, it may distort some text or straight lines. It is a good option for image database applications.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.MaximumQuality">
      <summary>
        <para>Maximum compression keeping quality</para>
        <para>This option provides maximum compression while maintaining as high as possible image quality.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.MaximumCompression">
      <summary>
        <para>Maximum compression</para>
        <para>This option gives maximum compression. It is equivalent to a Q factor of 255.</para>
      </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCmpQualityFactorPredefined.Custom">
      <summary>
        <para>Custom Quality Factor.</para>
      </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpegLoadOptions">
      <summary>
            Provides options specifically for loading JPEG and LEAD CMP images.
            </summary>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.DisableMmx">
      <summary>
            Enables or disables use of MMX optimized instructions when loading JPEG and LEAD CMP images.
            </summary>
      <value>true to disable MMX, false to enable it.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.DisableP3">
      <summary>
            Enables or disables use of PIII optimized instructions when loading JPEG and LEAD CMP images.
            </summary>
      <value>true to disable PIII, false to enable it.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.ForceCieLab">
      <summary>
            Forces the load process to expect CIELAB colorspace data in the file.
            </summary>
      <value>true to force the load process to expect CIELAB colorspace data in the file.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.UseBadJpegPredictor">
      <summary>
            Forces the loading of lossless JPEG files that contain incorrect predictors.
            </summary>
      <value>true to force the loading of lossless JPEG files that contain incorrect predictors.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.ForceRgbFile">
      <summary>
            Forces the load process to expect RGB colorspace data in the file.
            </summary>
      <value>true to force the load process to expect RGB colorspace data in the file.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegLoadOptions.UseFastConversion">
      <summary>
            Enables or disables use of the fast color conversions when loading CMYK or CIELab files.
            </summary>
      <value>true to enable fast color conversion, false to disable it.</value>
      <remarks>
            Setting this property to true will greatly speed up the loading of CMYK and CIELab files,
            but it will reduce the image quality.
            </remarks>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpegSaveOptions">
      <summary>
            Provides options specifically for saving JPEG and LEAD CMP images.
            </summary>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <remarks>
            For information about compression quality factors, refer to <see cref="T:Leadtools.Topics.CompressionQualityFactors">Compression Quality Factors</see>.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">
      <summary>
            Gets and sets the Quality Factor (QFactor) to use when saving JPEG and LEAD CMP compressed images.
            </summary>
      <value>
            The Quality Factor to use when saving JPEG and LEAD CMP compressed images.
            </value>
      <remarks>
        <para>You can set a value from 2 to 255, where 2 is the highest quality and 255 is the most compression.</para>
        <para>You can also use a factor of 0 to produce lossless JPEG files.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.CmpQualityFactorPredefined">
      <summary>
            Gets and sets the pre-defined QFactor value when saving LEAD CMP compressed images.
            </summary>
      <value>The LEAD CMP pre-defined QFactor.</value>
      <remarks>
        <para>When saving LEAD CMP compressed images, you can specify a pre-defined QFactor.</para>
        <para>If you set this property to
            <see cref="T:Leadtools.Codecs.CodecsCmpQualityFactorPredefined">CodecsCmpQualityFactorPredefined.Custom</see>, then you can set a custom
            QFactor in <see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.YccStamp">
      <summary>
            Gets and sets a value indicating the color space to use when saving EXIF stamp images.
            </summary>
      <value>true to save the stamp as YCC colorspace, false to save with RGB.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.JpegStamp">
      <summary>
            Gets and sets a value indicating the compression to use when saving EXIF stamp images.
            </summary>
      <value>true to save the stamp as JPEG compressed, false to save uncompressed.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.SaveWithStamp">
      <summary>
            Enables and disables saving stamp images when saving JPEG and LEAD CMP compressed images.
            </summary>
      <value>true to save stamp images, false to not save stamp images.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.FixedPaletteStamp">
      <summary>
            Gets and sets a value which indicates the type of palette to use when saving stamp images that are 8-bit.
            </summary>
      <value>true to use the LEAD Fixed palette, false to use an optimized palette.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.SaveWithoutTimestamp">
      <summary>
            Enables or disables saving the image file with a time stamp.
            </summary>
      <value>true to save without time stamp, false to save with time stamp.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.StampWidth">
      <summary>
            Gets and sets the width for the stamp image.
            </summary>
      <value>The width for the stamp image.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.StampHeight">
      <summary>
            Gets and sets the height for the stamp image.
            </summary>
      <value>The height for the stamp image.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.StampBitsPerPixel">
      <summary>
            Gets and sets the bit depth for the stamp image.
            </summary>
      <value>The bit depth for the stamp image.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.DisableMmx">
      <summary>
            Enables or disables use of MMX optimized instructions when saving JPEG and LEAD CMP images.
            </summary>
      <value>true to disable MMX, false to enable MMX.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.SaveOldJtif">
      <summary>
            Enables or disables saving of old style JTIF files.
            </summary>
      <value>true to save old style JTIF, false to save the new format.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.DisableP3">
      <summary>
            Enables or disables use of PIII optimized instructions when saving JPEG and LEAD CMP images.
            </summary>
      <value>true to disable PIII, false to enable PIII.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegSaveOptions.Passes">
      <summary>
            Gets and sets the number of passes when saving progressive JPEG and LEAD CMP images.
            </summary>
      <value>
        <para>The number of passes (scans through the image) when saving a progressive JPEG or LEAD CMP file.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>Any positive number &gt; 1.</term>
              <description>Save the file as a progressive file with the specified number of passes.</description>
            </item>
            <item>
              <term>1</term>
              <description>Save a regular file with optimized Huffman tables. 
                 Use this for smaller file size (at the expense of speed).
                 </description>
            </item>
            <item>
              <term>0</term>
              <description>Save the file as an ordinary JPEG or LEAD CMP file (not a progressive file).</description>
            </item>
            <item>
              <term>Any negative number.</term>
              <description>Save the file as a progressive file with the LEADTOOLS default number of passes.</description>
            </item>
          </list>
        </para>
      </value>
      <seealso cref="T:Leadtools.Topics.ControllingProgressiveLoadsAndSaves">Controlling Progressive Loads and Saves</seealso>
      <seealso cref="P:Leadtools.Codecs.CodecsLoadOptions.Passes">CodecsLoadOptions.Passes</seealso>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpegOptions">
      <summary>
            Provides extra options for loading and saving JPEG and LEAD CMP images.
            </summary>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsJpegOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Slave.jpg"

   ' Get all Information about the Jpeg file that you want to load.
   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

   'Setting Jpeg Load options.
   codecs.Options.Jpeg.Load.DisableMmx = False
   codecs.Options.Jpeg.Load.DisableP3 = False
   codecs.Options.Jpeg.Load.ForceCieLab = True
   codecs.Options.Jpeg.Load.ForceRgbFile = False
   codecs.Options.Jpeg.Load.UseBadJpegPredictor = False

   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   'if the image has stamp then set the Jpeg settings related to the stamp.
   If imageInfo.Jpeg.HasStamp Then
      codecs.Options.Jpeg.Save.FixedPaletteStamp = True
      codecs.Options.Jpeg.Save.JpegStamp = True
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = False
      codecs.Options.Jpeg.Save.SaveWithStamp = True
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
      codecs.Options.Jpeg.Save.StampHeight = 100
      codecs.Options.Jpeg.Save.StampWidth = 100
      codecs.Options.Jpeg.Save.YccStamp = False
   End If

   If imageInfo.Jpeg.IsLossless Then
      Console.WriteLine("This is a lossless Jpeg Image")
   Else
      Console.WriteLine("This is not a lossless Jpeg Image")
   End If

   If imageInfo.Jpeg.IsProgressive Then
      codecs.Options.Jpeg.Save.Passes = 0
   End If

   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom
   codecs.Options.Jpeg.Save.DisableMmx = True
   codecs.Options.Jpeg.Save.DisableP3 = True
   codecs.Options.Jpeg.Save.QualityFactor = 2
   codecs.Options.Jpeg.Save.SaveOldJtif = True

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jpeg1.jpg", RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

   codecs.Options.Jpeg.Save.FixedPaletteStamp = False
   codecs.Options.Jpeg.Save.JpegStamp = True
   codecs.Options.Jpeg.Save.SaveWithoutTimestamp = True
   codecs.Options.Jpeg.Save.SaveWithStamp = True
   codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
   codecs.Options.Jpeg.Save.StampHeight = 75
   codecs.Options.Jpeg.Save.StampWidth = 50
   codecs.Options.Jpeg.Save.YccStamp = True
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality
   codecs.Options.Jpeg.Save.DisableMmx = False
   codecs.Options.Jpeg.Save.DisableP3 = False
   codecs.Options.Jpeg.Save.SaveOldJtif = False

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jpeg2.jpg", RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsJpegOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Slave.jpg";

   // Get all Information about the Jpeg file that you want to load.
   CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true);

   //Setting Jpeg Load options.
   codecs.Options.Jpeg.Load.DisableMmx = false;
   codecs.Options.Jpeg.Load.DisableP3 = false;
   codecs.Options.Jpeg.Load.ForceCieLab = true;
   codecs.Options.Jpeg.Load.ForceRgbFile = false;
   codecs.Options.Jpeg.Load.UseBadJpegPredictor = false;

   RasterImage srcImage = codecs.Load(srcFileName);

   //if the image has stamp then set the Jpeg settings related to the stamp.
   if (imageInfo.Jpeg.HasStamp)
   {
      codecs.Options.Jpeg.Save.FixedPaletteStamp = true;
      codecs.Options.Jpeg.Save.JpegStamp = true;
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = false;
      codecs.Options.Jpeg.Save.SaveWithStamp = true;
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
      codecs.Options.Jpeg.Save.StampHeight = 100;
      codecs.Options.Jpeg.Save.StampWidth = 100;
      codecs.Options.Jpeg.Save.YccStamp = false;
   }

   if (imageInfo.Jpeg.IsLossless)
      Console.WriteLine("This is a lossless Jpeg Image");
   else
      Console.WriteLine("This is not a lossless Jpeg Image");

   if (imageInfo.Jpeg.IsProgressive)
      codecs.Options.Jpeg.Save.Passes = 0;

   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom;
   codecs.Options.Jpeg.Save.DisableMmx = true;
   codecs.Options.Jpeg.Save.DisableP3 = true;
   codecs.Options.Jpeg.Save.QualityFactor = 2;
   codecs.Options.Jpeg.Save.SaveOldJtif = true;

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jpeg1.jpg", RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

   codecs.Options.Jpeg.Save.FixedPaletteStamp = false;
   codecs.Options.Jpeg.Save.JpegStamp = true;
   codecs.Options.Jpeg.Save.SaveWithoutTimestamp = true;
   codecs.Options.Jpeg.Save.SaveWithStamp = true;
   codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
   codecs.Options.Jpeg.Save.StampHeight = 75;
   codecs.Options.Jpeg.Save.StampWidth = 50;
   codecs.Options.Jpeg.Save.YccStamp = true;
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality;
   codecs.Options.Jpeg.Save.DisableMmx = false;
   codecs.Options.Jpeg.Save.DisableP3 = false;
   codecs.Options.Jpeg.Save.SaveOldJtif = false;

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jpeg2.jpg", RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegOptions.Load">
      <summary>
            Gets the options for loading JPEG and LEAD CMP images.
            </summary>
      <value>The JPEG and LEAD CMP load options.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegOptions.Save">
      <summary>
            Gets the options for saving JPEG and LEAD CMP images.
            </summary>
      <value>The JPEG and LEAD CMP save options.</value>
      <seealso cref="T:Leadtools.Topics.CompressionUsingLEADandJPEGFormats">Compression Using LEAD and JPEG Formats</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000CompressionControl">
      <summary>
            Indicates the compression control method.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000CompressionControl.Lossless">
      <summary>
            Lossless compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000CompressionControl.Ratio">
      <summary>
            Use the <see cref="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.CompressionRatio" /> value for compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000CompressionControl.TargetSize">
      <summary>
            Use the <see cref="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.TargetFileSize" /> value for compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000CompressionControl.QualityFactor">
      <summary>
            Use the <see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor" /> specified when saving the file.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder">
      <summary>
            Indicates the order of progression.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder.LayerResolutionComponentPosition">
      <summary>
            Quality–axis order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder.ResolutionLayerComponentPosition">
      <summary>
            Resolution-axis order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder.ResolutionPositionComponentLayer">
      <summary>
            Resolution-axis order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder.PositionComponentResolutionLayer">
      <summary>
            Position–axis order.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000ProgressionsOrder.ComponentPositionResolutionLayer">
      <summary>
            Color-axis order.  Image starts out gray.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000RegionOfInterest">
      <summary>
            Indicates which region of interest to use.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000RegionOfInterest.UseLeadRegion">
      <summary>
            Use the region stored in the <see cref="T:Leadtools.RasterImage" />.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsJpeg2000RegionOfInterest.UseOptionRectangle">
      <summary>
            Use the region specified by <see cref="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterestRectangle" />.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000LoadOptions">
      <summary>
            Provides options specifically for loading JPEG 2000 and LEAD CMW images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000LoadOptions.Jp2Resolution">
      <summary>
            Gets and sets the resolution to load when loading JP2 files.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
            Specifies the resolution of the image to load. You can specify 0 to get the default.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>Refer to <see cref="P:Leadtools.Codecs.CodecsJpeg2000Options.Load" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000LoadOptions.J2kResolution">
      <summary>
            Gets and sets the resolution to load when loading J2K streams.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
            Specifies the resolution of the image to load. You can specify 0 to get the default.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000LoadOptions.CmwResolution">
      <summary>
            Gets and sets the resolution to use when loading LEAD CMW files.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
            Specifies the resolution of the image to use when loading. You can specify 0 to get the default. 
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000SaveOptions">
      <summary>
            Provides options specifically for saving JPEG and LEAD CMW images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <remarks>
            For information about compression quality factors, refer to <see cref="T:Leadtools.Topics.CompressionQualityFactors">Compression Quality Factors</see>.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsJpeg2000SaveOptions.Reset">
      <summary>
            Resets this <see cref="T:Leadtools.Codecs.CodecsJpeg2000SaveOptions" /> object to the default values.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsJpeg2000SaveOptions.GetHorizontalSubSamplingValues">
      <summary>
            Reserved for internal use.
            </summary>
      <remarks>An array of integer holding the sub-sampling values</remarks>
      <noexample />
    </member>
    <member name="M:Leadtools.Codecs.CodecsJpeg2000SaveOptions.SetHorizontalSubSamplingValues(System.Int32[])">
      <summary>
            Reserved for internal use.
            </summary>
      <param name="values">An array of integer holding the sub-sampling values</param>
      <noremarks />
      <noexample />
    </member>
    <member name="M:Leadtools.Codecs.CodecsJpeg2000SaveOptions.GetVerticalSubSamplingValues">
      <summary>
            Reserved for internal use.
            </summary>
      <returns>An array of integer holding the sub-sampling values</returns>
      <noremarks />
      <noexample />
    </member>
    <member name="M:Leadtools.Codecs.CodecsJpeg2000SaveOptions.SetVerticalSubSamplingValues(System.Int32[])">
      <summary>
            Reserved for internal use.
            </summary>
      <param name="values">An array of integer holding the sub-sampling values</param>
      <noremarks />
      <noexample />
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.MaximumComponentsNumber">
      <summary>
            Maximum number of components. It is 3 for a color image, 1 for a grayscale image.
            </summary>
      <value>Maximum number of components. It is 3 for a color image, 1 for a grayscale image.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.MaximumDecompressionLevels">
      <summary>
            Calculates the maximum number of resolution levels in the compressed file.
            </summary>
      <value>The maximum number of resolution levels in the compressed file.</value>
      <remarks>
            The maximum number of levels depends on the size of the image. Passing values 
            that are too large will cause the save operation to fail.  Each resolution 
            level is one-half the size of the previous resolution, starting with the full 
            image resolution. The default value is 5.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.UseColorTransform">
      <summary>
            Enables or disables converting an RGB image to YUV space before compressing.
            </summary>
      <value>true to convert to YUV space before compressing.</value>
      <remarks>
            YUV space provides greater compression with higher image quality.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.DerivedQuantization">
      <summary>
            Gets and sets a value that indicates whether to use derived quantization or expounded quantization.
            </summary>
      <value>
            true to use derived quantization, false to use expounded quantization.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.CompressionControl">
      <summary>
            Gets and sets the compression control method.
            </summary>
      <value>The compression control method.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.CompressionRatio">
      <summary>
            Gets and sets the compression ratio.
            </summary>
      <value>The compression ratio.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.TargetFileSize">
      <summary>
            Gets and sets the target file size.
            </summary>
      <value>The target file size (in bytes).</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ImageAreaHorizontalOffset">
      <summary>
            Gets and sets the horizontal offset from the origin of the reference grid to the left side of the image area.
            </summary>
      <value>
            The horizontal offset from the origin of the reference grid to the left side of the image area.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ImageAreaVerticalOffset">
      <summary>
            Gets and sets the vertical offset from the origin of the reference grid to the top of the image area.
            </summary>
      <value>
            The vertical offset from the origin of the reference grid to the top of the image area.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ReferenceTileWidth">
      <summary>
            Gets and sets the width of one reference tile, with respect to the reference grid.
            </summary>
      <value>
            The width of one reference tile, with respect to the reference grid.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ReferenceTileHeight">
      <summary>
            Gets and sets the height of one reference tile, with respect to the reference grid.
            </summary>
      <value>
            The height of one reference tile, with respect to the reference grid.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.TileHorizontalOffset">
      <summary>
            Gets and sets the horizontal offset from the origin of the reference grid to the left side of the first tile.
            </summary>
      <value>
            The horizontal offset from the origin of the reference grid to the left side of the first tile.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.TileVerticalOffset">
      <summary>
            Gets and sets the vertical offset from the origin of the reference grid to the top of the first tile.
            </summary>
      <value>
            The vertical offset from the origin of the reference grid to the top of the first tile.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.DecompositionLevels">
      <summary>
            Gets and sets the number of resolution levels in the compressed file.
            </summary>
      <value>
            The number of resolution levels in the compressed file.
            </value>
      <remarks>
            Passing values that are too large will cause the save operation to fail.  
            Each resolution level is one-half the size of the previous resolution, starting 
            with the full image resolution.  The default value is 5.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ProgressingOrder">
      <summary>
            Gets and sets the order of progression.
            </summary>
      <value>
            The order of progression.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.CodeBlockWidth">
      <summary>
            Gets and sets the width of the code block, following wavelet transformation.
            </summary>
      <value>
            The value must be a power of 2. It must be at least 4 and less than or equal to 1024.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.CodeBlockHeight">
      <summary>
            Gets and sets the height of the code block, following wavelet transformation.
            </summary>
      <value>
            The value must be a power of 2. It must be at least 4 and less than or equal to 1024.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.SelectiveAcBypass">
      <summary>
            Gets or sets a value indicating if the "lazy coding mode" is adopted. In this case, trailing bit-planes bypass the arithmetic coder except in the normalization pass. Otherwise, the arithmetic coder is used on all passes.
            </summary>
      <value>true if the "lazy coding mode" is adopted. In this case, trailing bit-planes bypass the arithmetic coder except in the normalization pass. Otherwise, the arithmetic coder is used on all passes.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ResetContextOnBoundaries">
      <summary>
            Gets or sets a value indicating if the arithmetic coder's probability models are reset between coding passes. This controls where the end of encoded data is and limits the amount of potentially lost data in the event of a transmission error.
            </summary>
      <value>true if the arithmetic coder's probability models are reset between coding passes. This controls where the end of encoded data is and limits the amount of potentially lost data in the event of a transmission error.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.TerminationOnEachPass">
      <summary>
            Gets or sets a value indicating if the arithmetic code-word generation process stops on a byte boundary at the end of each coding pass.
            </summary>
      <value>true if the arithmetic code-word generation process stops on a byte boundary at the end of each coding pass.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.VerticallyCausalContext">
      <summary>
            Gets or sets a value indicating if the context models are restricted to being vertically causal within each sub-block.
            </summary>
      <value>true if the context models are restricted to being vertically causal within each sub-block.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.PredictableTermination">
      <summary>
            Gets or sets a value indicating if the encoder has a predictable termination policy and identifies that the policy was used in the code-stream COD/COC markers. This can be used to implement error detection and concealment.
            </summary>
      <value>true if the encoder has a predictable termination policy and identifies that the policy was used in the code-stream COD/COC markers. This can be used to implement error detection and concealment.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.ErrorResilienceSymbol">
      <summary>
            Gets or sets a value indicating if a 4 symbol marker is included for each bit-plane, following the normalization pass.
            </summary>
      <value>true if a 4 symbol marker is included for each bit-plane, following the normalization pass.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.GuardBits">
      <summary>
            Gets and sets the number of extra bits to consider when encoding an image.
            </summary>
      <value>
            Possible values are 0 - 7. The default is 2.
            </value>
      <remarks>
            This prevents coding overflow.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.DerivedBaseMantissa">
      <summary>
            Gets and sets the base mantissa used for derived quantization.
            </summary>
      <value>
            The base mantissa used for derived quantization.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.DerivedBaseExponent">
      <summary>
            Gets and sets the base exponent used for derived quantization.
            </summary>
      <value>
            The base exponent used for derived quantization.
            </value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.UseSopMarker">
      <summary>
            Enables or disables use of the SOP marker.
            </summary>
      <value>true to use the SOP marker, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.UseEphMarker">
      <summary>
            Enables or disables use of the EPH marker.
            </summary>
      <value>true to use the EPH marker, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterest">
      <summary>
            Gets and sets a value indicating the type of region to use when saving.
            </summary>
      <value>The type of region to use.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.UseRegionOfInterest">
      <summary>
            Enables or disables saving with region of interest.
            </summary>
      <value>true to save using a region of interest, false otherwise.</value>
      <remarks>The type of region is specified by <see cref="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterest" />.</remarks>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterestWeight">
      <summary>
            Reserved for internal use.
            </summary>
      <value>
            Reserved for internal use.
            </value>
      <noremarks />
      <noexample />
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterestRectangle">
      <summary>
            Gets and sets the rectangular region of interest to use when 
            <see cref="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.RegionOfInterest" /> is 
            <see cref="T:Leadtools.Codecs.CodecsJpeg2000RegionOfInterest">CodecsJpeg2000RegionOfInterest.UseOptionRectangle</see>.
            </summary>
      <value>A rectangle which specifies the region of interest.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.AlphaChannelActiveBits">
      <summary>
            Gets and sets a value indicating the active bits for the alpha channel.
            </summary>
      <value>The active bits for the alpha channel.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000SaveOptions.AlphaChannelLossless">
      <summary>
            Gets and sets a value indicating whether to save the alpha channel as lossless.
            </summary>
      <value>true to save the alpha channel as lossless, otherwise; false.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpeg2000Options">
      <summary>
            Provides extra options for loading and saving JPEG 2000 and LEAD CMW images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsJpeg2000OptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k"

   'Setting the Jpeg2000 load options.
   codecs.Options.Jpeg2000.Load.J2kResolution = New System.Drawing.Size(800, 800)
   codecs.Options.Jpeg2000.Load.Jp2Resolution = New System.Drawing.Size(800, 800)

   'loading a Jpeg2000 image.
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   'Setting the Jpeg2000 save options 
   codecs.Options.Jpeg2000.Save.CodeBlockHeight = 32
   codecs.Options.Jpeg2000.Save.CodeBlockWidth = 32
   codecs.Options.Jpeg2000.Save.CompressionControl = CodecsJpeg2000CompressionControl.Ratio
   codecs.Options.Jpeg2000.Save.CompressionRatio = 15.0F
   codecs.Options.Jpeg2000.Save.DecompositionLevels = 5
   codecs.Options.Jpeg2000.Save.DerivedBaseExponent = 8
   codecs.Options.Jpeg2000.Save.DerivedBaseMantissa = 2
   codecs.Options.Jpeg2000.Save.DerivedQuantization = True
   codecs.Options.Jpeg2000.Save.ErrorResilienceSymbol = False
   codecs.Options.Jpeg2000.Save.GuardBits = 4
   codecs.Options.Jpeg2000.Save.ImageAreaHorizontalOffset = 0
   codecs.Options.Jpeg2000.Save.ImageAreaVerticalOffset = 0
   codecs.Options.Jpeg2000.Save.PredictableTermination = False
   codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.PositionComponentResolutionLayer
   codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 240
   codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 480
   codecs.Options.Jpeg2000.Save.RegionOfInterest = CodecsJpeg2000RegionOfInterest.UseLeadRegion
   codecs.Options.Jpeg2000.Save.RegionOfInterestRectangle = New Rectangle(0, 0, 0, 0)
   codecs.Options.Jpeg2000.Save.ResetContextOnBoundaries = False
   codecs.Options.Jpeg2000.Save.SelectiveAcBypass = False
   codecs.Options.Jpeg2000.Save.TargetFileSize = 10240
   codecs.Options.Jpeg2000.Save.TerminationOnEachPass = False
   codecs.Options.Jpeg2000.Save.TileHorizontalOffset = 0
   codecs.Options.Jpeg2000.Save.TileVerticalOffset = 0
   codecs.Options.Jpeg2000.Save.UseColorTransform = True
   codecs.Options.Jpeg2000.Save.UseEphMarker = False
   codecs.Options.Jpeg2000.Save.UseRegionOfInterest = False
   codecs.Options.Jpeg2000.Save.UseSopMarker = False
   codecs.Options.Jpeg2000.Save.VerticallyCausalContext = False

   'Save the first sample.
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.j2k", RasterImageFormat.J2k, srcImage.BitsPerPixel)

   'changing some of the Jpeg2000 save options
   codecs.Options.Jpeg2000.Save.CodeBlockHeight = 4
   codecs.Options.Jpeg2000.Save.CodeBlockWidth = 8
   codecs.Options.Jpeg2000.Save.CompressionRatio = 23.0F
   codecs.Options.Jpeg2000.Save.DecompositionLevels = 6
   codecs.Options.Jpeg2000.Save.DerivedBaseMantissa = 2
   codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 320
   codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 320
   codecs.Options.Jpeg2000.Save.UseEphMarker = True
   codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.ResolutionPositionComponentLayer
   codecs.Options.Jpeg2000.Save.UseSopMarker = True
   codecs.Options.Jpeg2000.Save.TargetFileSize = 102400

   'Save the first sample.
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jp2", RasterImageFormat.J2k, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsJpeg2000OptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k";

   //Setting the Jpeg2000 load options.
   codecs.Options.Jpeg2000.Load.J2kResolution = new System.Drawing.Size(800, 800);
   codecs.Options.Jpeg2000.Load.Jp2Resolution = new System.Drawing.Size(800, 800);

   //loading a Jpeg2000 image.
   RasterImage srcImage = codecs.Load(srcFileName);

   //Setting the Jpeg2000 save options 
   codecs.Options.Jpeg2000.Save.CodeBlockHeight = 32;
   codecs.Options.Jpeg2000.Save.CodeBlockWidth = 32;
   codecs.Options.Jpeg2000.Save.CompressionControl = CodecsJpeg2000CompressionControl.Ratio;
   codecs.Options.Jpeg2000.Save.CompressionRatio = 15.0f;
   codecs.Options.Jpeg2000.Save.DecompositionLevels = 5;
   codecs.Options.Jpeg2000.Save.DerivedBaseExponent = 8;
   codecs.Options.Jpeg2000.Save.DerivedBaseMantissa = 2;
   codecs.Options.Jpeg2000.Save.DerivedQuantization = true;
   codecs.Options.Jpeg2000.Save.ErrorResilienceSymbol = false;
   codecs.Options.Jpeg2000.Save.GuardBits = 4;
   codecs.Options.Jpeg2000.Save.ImageAreaHorizontalOffset = 0;
   codecs.Options.Jpeg2000.Save.ImageAreaVerticalOffset = 0;
   codecs.Options.Jpeg2000.Save.PredictableTermination = false;
   codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.PositionComponentResolutionLayer;
   codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 240;
   codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 480;
   codecs.Options.Jpeg2000.Save.RegionOfInterest = CodecsJpeg2000RegionOfInterest.UseLeadRegion;
   codecs.Options.Jpeg2000.Save.RegionOfInterestRectangle = new Rectangle(0, 0, 0, 0);
   codecs.Options.Jpeg2000.Save.ResetContextOnBoundaries = false;
   codecs.Options.Jpeg2000.Save.SelectiveAcBypass = false;
   codecs.Options.Jpeg2000.Save.TargetFileSize = 10240;
   codecs.Options.Jpeg2000.Save.TerminationOnEachPass = false;
   codecs.Options.Jpeg2000.Save.TileHorizontalOffset = 0;
   codecs.Options.Jpeg2000.Save.TileVerticalOffset = 0;
   codecs.Options.Jpeg2000.Save.UseColorTransform = true;
   codecs.Options.Jpeg2000.Save.UseEphMarker = false;
   codecs.Options.Jpeg2000.Save.UseRegionOfInterest = false;
   codecs.Options.Jpeg2000.Save.UseSopMarker = false;
   codecs.Options.Jpeg2000.Save.VerticallyCausalContext = false;

   //Save the first sample.
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.j2k", RasterImageFormat.J2k, srcImage.BitsPerPixel);

   //changing some of the Jpeg2000 save options
   codecs.Options.Jpeg2000.Save.CodeBlockHeight = 4;
   codecs.Options.Jpeg2000.Save.CodeBlockWidth = 8;
   codecs.Options.Jpeg2000.Save.CompressionRatio = 23.0f;
   codecs.Options.Jpeg2000.Save.DecompositionLevels = 6;
   codecs.Options.Jpeg2000.Save.DerivedBaseMantissa = 2;
   codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 320;
   codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 320;
   codecs.Options.Jpeg2000.Save.UseEphMarker = true;
   codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.ResolutionPositionComponentLayer;
   codecs.Options.Jpeg2000.Save.UseSopMarker = true;
   codecs.Options.Jpeg2000.Save.TargetFileSize = 102400;

   //Save the first sample.
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jp2", RasterImageFormat.J2k, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000Options.Load">
      <summary>
            Gets the options for loading JPEG 2000 and LEAD CMW images.
            </summary>
      <value>The JPEG 2000 load options.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpeg2000Options.Save">
      <summary>
            Gets the options for saving JPEG 2000 and LEAD CMW images.
            </summary>
      <value>The JPEG 2000 save options.</value>
      <seealso cref="T:Leadtools.Topics.ProgrammingWithJpeg2000Features">Programming With JPEG 2000 Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsThumbnailOptions">
      <summary>
            Options used when loading a thumbnail from an image file.
            </summary>
      <remarks>
            This structure is used with the <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see> method to set the
            options used when loading a thumbnail from an image file.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.Default">
      <summary>
            Gets the default settings for <see cref="T:Leadtools.Codecs.CodecsThumbnailOptions" />.
            </summary>
      <value>
            The default settings for <see cref="T:Leadtools.Codecs.CodecsThumbnailOptions" />.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.Width">
      <summary>
            Gets or sets the desired thumbnail width in pixels.
            </summary>
      <value>The desired thumbnail width in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.Height">
      <summary>
            Gets or sets the desired thumbnail height in pixels.
            </summary>
      <value>The desired thumbnail height in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.BitsPerPixel">
      <summary>
            Gets or sets the desired thumbnail bits per pixel.
            </summary>
      <value>
        <para>The desired thumbnail bits per pixel.  The following are valid values:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Default bits per pixel stored in the file.</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.Order">
      <summary>
            Gets or sets the desired color order for the thumbnail image.
            </summary>
      <value>The desired color order for the thumbnail image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.DitheringMethod">
      <summary>
            Gets or sets the dithering method to use.
            </summary>
      <value>The dithering method to use.</value>
      <remarks>
            The <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.DitheringMethod" /> will be passed to <see cref="T:Leadtools.ImageProcessing.ColorResolutionCommand" /> internally when
            <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> is true, <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize" /> is true, and the source image is not 24-bit. In this
            case, the thumbnail image is converted to 24-bit, then, combined with a "background" image. The resulting image is then
            returned to the thumbnail image's original bit-depth using <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.DitheringMethod" />.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.PaletteFlags">
      <summary>
            Gets or sets the palette flags to use.
            </summary>
      <value>The palette flags to use.</value>
      <remarks>
            The <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.PaletteFlags" /> will be passed to <see cref="T:Leadtools.ImageProcessing.ColorResolutionCommand" /> internally when
            <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> is true, <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize" /> is true, and the source image is not 24-bit. In this
            case, the thumbnail image is converted to 24-bit, then, combined with a "background" image. The resulting image is then
            returned to the thumbnail image's original bit-depth using <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.PaletteFlags" />.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio">
      <summary>
            Gets or sets a value which indicates whether the aspect ratio of the image should be maintained when creating the thumbnail.
            </summary>
      <value>true to indicates that the aspect ratio of the image should be maintained when creating the thumbnail, otherwise; false.</value>
      <remarks>
        <para>When set to true, the generated thumbnail's width and height will not match both <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.Width" /> and
            <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.Height" /> if the original aspect ratio was not 1:1.</para>
        <para>If you desire the thumbnail be generated with exactly the requested width and height while still maintaining the
            aspect ratio of the actual image, set both <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> and <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize" /> to true.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize">
      <summary>
            Gets or sets a value which indicates whether the generated thumbnail should be forced to the requested size, even if
            <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> is set to true.
            </summary>
      <value>true to indicate that the thumbnail image will be generated by creating a "canvas" image with the requested size, and then
            centering the actual image inside that image.  Note this is a slower process.</value>
      <remarks>
            This parameter is ignored if <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> is false.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.BackColor">
      <summary>
            Gets or sets the background color to use if both <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize" /> and <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> are true.
            </summary>
      <value>A <see cref="T:Leadtools.RasterColor" /> to use as the background color to use if both <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.ForceSize" /> and
            <see cref="P:Leadtools.Codecs.CodecsThumbnailOptions.MaintainAspectRatio" /> are true.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.LoadStamp">
      <summary>
            Gets or sets a value which indicates whether or not to attempt to load stamps from file formats that support preview images.
            </summary>
      <value>true to load the stamp from the file if present, false to ignore the stamp.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsThumbnailOptions.Resample">
      <summary>
            Gets or sets a value whether or not to use interpolated resize when generating thumbnails.
            </summary>
      <value>true to use interpolated resize, false to use normal resize.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">RasterCodecs.ReadThumbnail</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPhotoInterpolation">
      <summary>
            Indicates color information.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.WhiteIsZero">
      <summary>
            White is Zero.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.BlackIsZero">
      <summary>
            Black is Zero.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.NoColorMap">
      <summary>
            There is no color map (RGB).
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.Cmyk">
      <summary>
            Separated CMYK.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.YcbCr">
      <summary>
            YC b C r color space.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPhotoInterpolation.CieLab">
      <summary>
            1976 CIE L*a*b.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsLoadInformationEventArgs">
      <summary>
            Provides information for the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see> event.
            </summary>
      <remarks>
            You can use the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see> event and the
            <see cref="T:Leadtools.Codecs.CodecsLoadInformationEventArgs" /> class when loading image data in a format that LEADTOOLS does not recognize.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsLoadInformationEventArgs.GetPalette">
      <summary>
            Gets the palette for uncompressed data that is 8 bits per pixel or less.
            </summary>
      <returns>An array of <see cref="T:Leadtools.RasterColor" /> object that represents the palette for uncompressed data that is 8 bits per
            pixel or less.</returns>
      <remarks>
            The first 1 &gt;&gt; <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.BitsPerPixel" /> entries in this palette is used.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsLoadInformationEventArgs.SetPalette(Leadtools.RasterColor[])">
      <summary>
            Sets the palette for uncompressed data that is 8 bits per pixel or less.
            </summary>
      <param name="palette">An array of <see cref="T:Leadtools.RasterColor" /> object that represents the palette for uncompressed data that
            is 8 bits per pixel or less.</param>
      <remarks>
            Fill in the first 1 &gt;&gt; <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.BitsPerPixel" /> entries in this palette.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsLoadInformationEventArgs.GetColorMask">
      <summary>
            Gets an array of integer values that represent RGB color masks.
            </summary>
      <returns>An array of 3 integers as follows: ColorMask[0] is the red mask; ColorMask[1] is the green mask;
            ColorMask[2] is the blue mask.</returns>
      <remarks>
        <para>The color mask is valid only if <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format" /> is set to <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>.</para>
        <para>As an example, with 16-bit data arranged as RRR RRGG GGGB BBBB, the masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0x7C00
            ColorMask[1] = 0x0E30
            ColorMask[2] = 0x001F
            </pre>
          </code>
        </para>
        <para>For 32-bit data, the only valid data is RRRR RRRR GGGG GGGG BBBB BBBB. The masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0xFF0000
            ColorMask[1] = 0x00FF00
            ColorMask[2] = 0x0000FF
            </pre>
          </code>
        </para>
      </remarks>
      <noexample />
    </member>
    <member name="M:Leadtools.Codecs.CodecsLoadInformationEventArgs.SetColorMask(Leadtools.RasterColor[])">
      <summary>
            Sets the array of integer values that represent RGB color masks.
            </summary>
      <param name="colorMask">An array of 3 integers as follows: ColorMask[0] is the red mask; ColorMask[1] is the green mask;
            ColorMask[2] is the blue mask.</param>
      <remarks>
        <para>The color mask is valid only if <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format" /> is set to <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>.</para>
        <para>As an example, with 16-bit data arranged as RRR RRGG GGGB BBBB, the masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0x7C00
            ColorMask[1] = 0x0E30
            ColorMask[2] = 0x001F
            </pre>
          </code>
        </para>
        <para>For 32-bit data, the only valid data is RRRR RRRR GGGG GGGG BBBB BBBB. The masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0xFF0000
            ColorMask[1] = 0x00FF00
            ColorMask[2] = 0x0000FF
            </pre>
          </code>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Stream">
      <summary>
            Gets the stream used by the load process.
            </summary>
      <value>The <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Stream" /> object used by the load process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format">
      <summary>
            Gets the image file format.
            </summary>
      <value>
        <para>The image file format. The following are valid formats:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG31Dim</see>
              </term>
              <description>Fax file with G3 one-dimensional compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG32Dim</see>
              </term>
              <description>Fax file with G3 two-dimensional compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG4</see>
              </term>
              <description>Fax file with G4 compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawRle4</see>
              </term>
              <description>RAW file with RLE compression, 4 bits per pixel</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawRle8</see>
              </term>
              <description>RAW file with RLE compression, 8 bits per pixel</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>
              </term>
              <description>RAW file with bitfield compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawPackBits</see>
              </term>
              <description>RAW file with packed bits compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawCcitt</see>
              </term>
              <description>RAW file with CCITT compression</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Width">
      <summary>
            Gets or sets the image width in pixels.
            </summary>
      <value>The image width in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Height">
      <summary>
            Gets or sets the image height in pixels.
            </summary>
      <value>The image height in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.BitsPerPixel">
      <summary>
            Gets or sets the bits per pixel of the image data in the file.
            </summary>
      <value>The bits per pixel of the image data in the file.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.XResolution">
      <summary>
            Gets or sets the horizontal resolution for rendering the image, specified in dots per inch.
            </summary>
      <value>The horizontal resolution for rendering the image, specified in dots per inch. Setting this property is optional.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.YResolution">
      <summary>
            Gets or sets the vertical resolution for rendering the image, specified in dots per inch.
            </summary>
      <value>The vertical resolution for rendering the image, specified in dots per inch. Setting this property is optional.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Offset">
      <summary>
            Gets or sets the position of the first byte of image data.
            </summary>
      <value>The position of the first byte of image data. This can be 0 if your file does not have a header.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.StripSize">
      <summary>
            Gets or sets the size of the data strip before it is decompressed.
            </summary>
      <value>The size of the data strip before it is decompressed.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.PhotoInterpolation">
      <summary>
            Gets or sets the photometric interpolation for the load process.
            </summary>
      <value>
        <para>The photometric interpolation for the load process. Possible values are:</para>
        <para>When <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format" /> is one of the following:</para>
        <para>
          <list type="bullet">
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawCcitt</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG31Dim</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG32Dim</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG4</see>
              </description>
            </item>
          </list>
        </para>
        <para>The value of <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.PhotoInterpolation" /> is as follows:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.WhiteIsZero</see>
              </term>
              <description>White is zero</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.BlackIsZero</see>
              </term>
              <description>Black is zero</description>
            </item>
          </list>
        </para>
        <para>When <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format" /> is <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawPackBits</see>, the value of
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.PhotoInterpolation" /> is as follows:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.NoColorMap</see>
              </term>
              <description>There is no color map (RGB)</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.Cmyk</see>
              </term>
              <description>Separated CMYK</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.YcbCr</see>
              </term>
              <description>YC b C r color space</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPhotoInterpolation">CodecsPhotoInterpolation.CieLab</see>
              </term>
              <description>1976 CIE L*a*b</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.PlanarConfiguration">
      <summary>
            Gets or sets the planar configuration.
            </summary>
      <value>
        <para>The planar configuration. This value is used only if <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format" /> is
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawPackBits</see>. Otherwise, it is ignored. Possible values are</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPlanarConfiguration">CodecsPlanarConfiguration.Chunky</see>
              </term>
              <description>Chunky</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPlanarConfiguration">CodecsPlanarConfiguration.PlanarFormat</see>
              </term>
              <description>Planar format</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Order">
      <summary>
            Gets or sets the byte order for the load process.
            </summary>
      <value>The byte order for the load process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.ViewPerspective">
      <summary>
            Gets or sets the view perspective for the load process.
            </summary>
      <value>The view perspective for the load process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.WhiteOnBlack">
      <summary>
            Gets or sets a value that determines if the image is black-on-white or white on black.
            </summary>
      <value>true if the image is white-on-black, false if the image is black on white.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.LeastSignificantBitFirst">
      <summary>
            Gets or sets a value specifying whether the image data was saved with least significant bit first or last.
            </summary>
      <value>true if the image data was saved LSB, false if the image data was saved MSB.</value>
      <remarks>
            This property is used when loading raw data and some formats that support motorola byte order.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Reverse">
      <summary>
            Gets or sets a value that determines whether each line is reversed (mirrored).
            </summary>
      <value>true if each line is reversed (mirrored), otherwise false.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Pad4">
      <summary>
            Gets or sets a value indicating whether the image data was saved padded to 4-byte boundary.
            </summary>
      <value>true if the data was padded to 4-byte boundary, false otherwise.</value>
      <remarks>
            This property is used when loading raw data.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.MotorolaOrder">
      <summary>
            Gets or sets a value that determines whether image data in Motorola byte order.
            </summary>
      <value>true if image data is in Motorola byte order, false if in Intel byte order.</value>
      <remarks>
            Valid only for 16, 48 and 64-bit image data.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation">RasterCodecs.LoadInformation</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsImageInfo">
      <summary>
            Provides functionality for getting information about image files supported by Leadtools.
            </summary>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsImageInfoExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' try a GIF
   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif"
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("BitsPerPixel: {0}", info.BitsPerPixel))
   Console.WriteLine(String.Format("BytesPerLine: {0}", info.BytesPerLine))
   Console.WriteLine(String.Format("ColorSpace: {0}", info.ColorSpace.ToString()))
   Console.WriteLine(String.Format("Compresion: {0}", info.Compression))
   Console.WriteLine(String.Format("Fax: {0}", info.Fax))
   Console.WriteLine(String.Format("Format: {0}", info.Format))
   If info.Gif.HasAnimationBackground Then
      Console.WriteLine(String.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()))
   End If
   Console.WriteLine(String.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight))
   Console.WriteLine(String.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth))
   If info.Gif.HasAnimationLoop Then
      Console.WriteLine(String.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()))
   End If
   If info.Gif.HasAnimationPalette Then
      Dim pal As RasterColor() = info.Gif.GetAnimationPalette()
      Console.WriteLine("GifAnimationPalette:" &amp; Constants.vbLf)
      Dim x As Integer = 0
      Do While x &lt; pal.Length
         Console.Write("{0},", pal(x))
         x += 1
      Loop
      Console.WriteLine(Constants.vbLf)
   End If
   Console.WriteLine(String.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()))
   Console.WriteLine(String.Format("PageNumber: {0}", info.PageNumber))
   Console.WriteLine(String.Format("TotalPages: {0}", info.TotalPages))

   ' try a FAX TIFF
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("Width: {0}", info.Width))
   Console.WriteLine(String.Format("Height: {0}", info.Height))
   Console.WriteLine(String.Format("IsLink: {0}", info.IsLink.ToString()))
   Console.WriteLine(String.Format("IsRotated: {0}", info.IsRotated.ToString()))
   Console.WriteLine(String.Format("Fax.IsCompressed: {0}", info.Fax.IsCompressed.ToString()))
   If info.HasResolution Then
      Console.WriteLine(String.Format("X Resolution: {0}", info.XResolution))
      Console.WriteLine(String.Format("Y Resolution: {0}", info.YResolution))
   End If
   Console.WriteLine(String.Format("Tiff.HasNoPalette: {0}", info.Tiff.HasNoPalette.ToString()))
   Console.WriteLine(String.Format("Tiff.ImageFileDirectoryOffset: {0}", info.Tiff.ImageFileDirectoryOffset.ToString()))
   Console.WriteLine(String.Format("Tiff.IsImageFileDirectoryOffsetValid: {0}", info.Tiff.IsImageFileDirectoryOffsetValid.ToString()))

   ' try a PNG
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.png"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("HasAlpha: {0}", info.HasAlpha.ToString()))

   ' try a DICOM
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.dic"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("IsSigned: {0}", info.IsSigned.ToString()))

   ' try a JPEG
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Slave.jpg"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("Name: {0}", info.Name))
   Console.WriteLine(String.Format("Jpeg.HasStamp: {0}", info.Jpeg.HasStamp.ToString()))
   Console.WriteLine(String.Format("Jpeg.IsLossless: {0}", info.Jpeg.IsLossless.ToString()))
   Console.WriteLine(String.Format("Jpeg.IsProgressive: {0}", info.Jpeg.IsProgressive.ToString()))
   Console.WriteLine(String.Format("Order: {0}", info.Order.ToString()))
   Console.WriteLine(String.Format("SizeDisk: {0}", info.SizeDisk))
   Console.WriteLine(String.Format("SizeMemory: {0}", info.SizeMemory))

   ' try a PSD
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.psd"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("Psd.Layers: {0}", info.Psd.Layers))

   ' try a BMP
   srcFileName = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Ulay1.bmp"
   info = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("ViewPerspective: {0}", info.ViewPerspective))

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsImageInfoExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // try a GIF
   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif";
   CodecsImageInfo info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("BitsPerPixel: {0}", info.BitsPerPixel));
   Console.WriteLine(string.Format("BytesPerLine: {0}", info.BytesPerLine));
   Console.WriteLine(string.Format("ColorSpace: {0}", info.ColorSpace.ToString()));
   Console.WriteLine(string.Format("Compresion: {0}", info.Compression));
   Console.WriteLine(string.Format("Fax: {0}", info.Fax));
   Console.WriteLine(string.Format("Format: {0}", info.Format));
   if(info.Gif.HasAnimationBackground)
      Console.WriteLine(string.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()));
   Console.WriteLine(string.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight));
   Console.WriteLine(string.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth));
   if(info.Gif.HasAnimationLoop)
      Console.WriteLine(string.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()));
   if (info.Gif.HasAnimationPalette)
   {
      RasterColor[] pal = info.Gif.GetAnimationPalette();
      Console.WriteLine("GifAnimationPalette:\n");
      for(int x=0; x&lt;pal.Length; x++)
      {
         Console.Write("{0},",pal[x]);
      }
      Console.WriteLine("\n");
   }
   Console.WriteLine(string.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()));
   Console.WriteLine(string.Format("PageNumber: {0}", info.PageNumber));
   Console.WriteLine(string.Format("TotalPages: {0}", info.TotalPages));

   // try a FAX TIFF
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("Width: {0}", info.Width));
   Console.WriteLine(string.Format("Height: {0}", info.Height));
   Console.WriteLine(string.Format("IsLink: {0}", info.IsLink.ToString()));
   Console.WriteLine(string.Format("IsRotated: {0}", info.IsRotated.ToString()));
   Console.WriteLine(string.Format("Fax.IsCompressed: {0}", info.Fax.IsCompressed.ToString()));
   if(info.HasResolution)
   {
      Console.WriteLine(string.Format("X Resolution: {0}", info.XResolution));
      Console.WriteLine(string.Format("Y Resolution: {0}", info.YResolution));
   }
   Console.WriteLine(string.Format("Tiff.HasNoPalette: {0}", info.Tiff.HasNoPalette.ToString()));
   Console.WriteLine(string.Format("Tiff.ImageFileDirectoryOffset: {0}", info.Tiff.ImageFileDirectoryOffset.ToString()));
   Console.WriteLine(string.Format("Tiff.IsImageFileDirectoryOffsetValid: {0}", info.Tiff.IsImageFileDirectoryOffsetValid.ToString()));

   // try a PNG
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.png";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("HasAlpha: {0}", info.HasAlpha.ToString()));

   // try a DICOM
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.dic";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("IsSigned: {0}", info.IsSigned.ToString()));

   // try a JPEG
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Slave.jpg";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("Name: {0}", info.Name));
   Console.WriteLine(string.Format("Jpeg.HasStamp: {0}", info.Jpeg.HasStamp.ToString()));
   Console.WriteLine(string.Format("Jpeg.IsLossless: {0}", info.Jpeg.IsLossless.ToString()));
   Console.WriteLine(string.Format("Jpeg.IsProgressive: {0}", info.Jpeg.IsProgressive.ToString()));
   Console.WriteLine(string.Format("Order: {0}", info.Order.ToString()));
   Console.WriteLine(string.Format("SizeDisk: {0}", info.SizeDisk));
   Console.WriteLine(string.Format("SizeMemory: {0}", info.SizeMemory));

   // try a PSD
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.psd";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("Psd.Layers: {0}", info.Psd.Layers));

   // try a BMP
   srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Ulay1.bmp";
   info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("ViewPerspective: {0}", info.ViewPerspective));

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.Dispose">
      <summary>
            Releases all resources used by this <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.Finalize">
      <summary>
            This member overrides <see cref="M:System.Object.Finalize" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.Dispose(System.Boolean)">
      <summary>
            Releases all the resources used by this <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.Clone">
      <summary>
            Creates an exact copy of the current page of this <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.
            </summary>
      <returns>The <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> this method creates.</returns>
      <noremarks />
      <noexample />
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.GetPalette">
      <summary>
            Gets the images's palette.
            </summary>
      <value>An array of <see cref="T:Leadtools.RasterColor" /> structure that represents the image's palette.</value>
      <remarks>The palette is only used when loading RAW files.</remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
      <returns>
      </returns>
    </member>
    <member name="M:Leadtools.Codecs.CodecsImageInfo.ToString">
      <summary>
            Returns a string containing the image information in a human readable format.
            </summary>
      <returns>A string containing the image information.</returns>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Format">
      <summary>
            Gets the image file format.
            </summary>
      <value>The image file format.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Name">
      <summary>
            Gets the file name.
            </summary>
      <value>The file name.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Width">
      <summary>
            Gets the width of the image in pixels.
            </summary>
      <value>The width of the image in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Height">
      <summary>
            Gets the height of the image in pixels.
            </summary>
      <value>The height of the image in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.BitsPerPixel">
      <summary>
            Gets the bits per pixel of the image.
            </summary>
      <value>The bits per pixel of the image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.BytesPerLine">
      <summary>
            Gets the number of bytes per scanline for the image data.
            </summary>
      <value>the number of bytes per scanline for the image data..</value>
      <remarks>
            The BytesPerLine is rounded upward to the nearest multiple of four.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.SizeDisk">
      <summary>
            Gets the size of the image file on disk.
            </summary>
      <value>The size of the image file on disk.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.SizeMemory">
      <summary>
            Gets the size of the image when loaded uncompressed in memory.
            </summary>
      <value>The size of the image when loaded uncompressed in memory.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Compression">
      <summary>
            Gets the compression of the image file.
            </summary>
      <value>A <see cref="T:System.String" /> containing the compression of the image file.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.ViewPerspective">
      <summary>
            Gets the view perspective of the image.
            </summary>
      <value>The view perspective of the image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Order">
      <summary>
            Gets the byte order of the image.
            </summary>
      <value>The byte order of the image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.ColorSpace">
      <summary>
            Gets the color space of the image.
            </summary>
      <value>The color space of the image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.PageNumber">
      <summary>
            Gets the page number of the file.
            </summary>
      <value>The page number of the file.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.TotalPages">
      <summary>
            Gets the total number of pages in the file.
            </summary>
      <value>The total number of pages in the file.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.HasResolution">
      <summary>
            Determines whether or not the file has resolution values (DPI) stored inside.
            </summary>
      <value>true if the image file has resolution values stored inside, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.XResolution">
      <summary>
            Gets the horizontal resolution (DPI) of the image.
            </summary>
      <value>The horizontal resolution (DPI) of the image.</value>
      <remarks>
            The <see cref="P:Leadtools.Codecs.CodecsImageInfo.XResolution" /> is valid only when the value of <see cref="P:Leadtools.Codecs.CodecsImageInfo.HasResolution" /> is true.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.YResolution">
      <summary>
            Gets the vertical resolution (DPI) of the image.
            </summary>
      <value>The vertical resolution (DPI) of the image.</value>
      <remarks>
            The <see cref="P:Leadtools.Codecs.CodecsImageInfo.YResolution" /> is valid only when the value of <see cref="P:Leadtools.Codecs.CodecsImageInfo.HasResolution" /> is true.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.IsRotated">
      <summary>
            Determines whether or not the image has a rotated view perspective.
            </summary>
      <value>true if the image has a rotated view perspective, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.IsSigned">
      <summary>
            Determines whether or not the image data is signed.
            </summary>
      <value>true if the image data contains signed (negative) values, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.HasAlpha">
      <summary>
            Determines whether or not the image contains alpha channel information.
            </summary>
      <value>true if the image contains alpha channel information, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.IsLink">
      <summary>
            Determines whether or not the file is an image file or a link to an image file.
            </summary>
      <value>true if the file is a link to an image file, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Gif">
      <summary>
            Gets extra information about the image if the file format is GIF.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsGifImageInfo" /> object that contains extra information about the image if the file format is GIF.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Fax">
      <summary>
            Gets extra information about the image if the file format is FAX.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsFaxImageInfo" /> object that contains extra information about the image if the file format is FAX.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Jpeg">
      <summary>
            Gets extra information about the image if the file format is JPEG or LEAD CMP.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsJpegImageInfo" /> object that contains extra information about the image if the file format is JPEG or LEAD CMP.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Tiff">
      <summary>
            Gets extra information about the image if the file format is TIFF.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsTiffImageInfo" /> object that contains extra information about the image if the file format is TIFF.</value>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsImageInfo.Psd">
      <summary>
            Gets extra information about the image if the file format is PSD.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsPsdImageInfo" /> object that contains extra information about the image if the file format is PSD.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJbig2SaveOptions">
      <summary>
            Provides options specifically for saving JBIG2 images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageTypicalPredictionOn">
      <summary>
            Gets or sets a value that indicates whether to use typical prediction (TP) while encoding non-text area.
            </summary>
      <value>
            true to use typical prediction (TP) while encoding non-text area; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageTemplateType">
      <summary>
            {NR} Gets or sets a value that specifies which template-based arithmetic encoder to use when encoding a non-text area.
            </summary>
      <value>
            An integer value that specifies which template-based arithmetic encoder to use when encoding a non-text area.
            Currently, LEADTOOLS supports the following templates:
            <list type="table"><listheader><term>Value</term><description>Meaning</description></listheader><item><term>0</term><description><para>Three lines with a 16-pixel template.</para><para><img src="JBIG2Template0.gif" /></para></description></item><item><term>1</term><description><para>Three lines with a 13-pixel template.</para><para><img src="JBIG2Template1.gif" /></para></description></item><item><term>2</term><description><para>Three lines with a 10-pixel template.</para><para><img src="JBIG2Template2.gif" /></para></description></item><item><term>3</term><description><para>Two lines with a 10-pixel template.</para><para><img src="Jbig2Template3.gif" /></para></description></item></list></value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageQualityFactor">
      <summary>
            Gets or sets the degree of loss in the compression process for non-text areas.
            </summary>
      <value>
            An integer value that determines the degree of loss in the compression process for non-text areas.
            The value of 0 means lossless while any other value means lossy. The default value is 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatX1">
      <summary>
            Gets or sets the X location of the adaptive template pixel A1 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A1 for non-text area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY1" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY1">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A1 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A1 for non-text area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatX2">
      <summary>
            Gets or sets the X location of the adaptive template pixel A2 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A2 for non-text area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY2" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY2">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A2 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A2 for non-text area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatX3">
      <summary>
            Gets or sets the X location of the adaptive template pixel A3 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A3 for non-text area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY3" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY3">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A3 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A3 for non-text area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatX4">
      <summary>
            Gets or sets the X location of the adaptive template pixel A4 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A4 for non-text area encoding..
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY4" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.ImageGbatY4">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A4 for non-text area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A4 for non-text area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextTemplateType">
      <summary>
            Gets or sets a value that specifies which template-based arithmetic encoder to use when encoding a text area.
            </summary>
      <value>
            An integer value that specifies which template-based arithmetic encoder to use when encoding a text area.
            Currently, LEADTOOLS supports the following templates:
            <list type="table"><listheader><term>Value</term><description>Meaning</description></listheader><item><term>0</term><description><para>Three lines with a 16-pixel template.</para><para><img src="Jbig2Template0.gif" /></para></description></item><item><term>1</term><description><para>Three lines with a 13-pixel template.</para><para><img src="Jbig2Template1.gif" /></para></description></item><item><term>2</term><description><para>Three lines with a 10-pixel template.</para><para><img src="Jbig2Template2.gif" /></para></description></item><item><term>3</term><description><para>Two lines with a 10-pixel template.</para><para><img src="Jbig2Template3.gif" /></para></description></item></list></value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatX1">
      <summary>
            Gets or sets the X location of the adaptive template pixel A1 for text-area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A1 for text-area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY1" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY1">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A1 for text-area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A1 for text-area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatX2">
      <summary>
            Gets or sets the X location of the adaptive template pixel A2 for text-area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A2 for text-area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY2" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY2">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A2 for text-area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A2 for text-area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatX3">
      <summary>
            Gets or sets the X location of the adaptive template pixel A3 for text-area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A3 for text-area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY3" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY3">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A3 for text-area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A3 for text-area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatX4">
      <summary>
            Gets or sets the X location of the adaptive template pixel A4 for text-area encoding.
            </summary>
      <value>
            An integer that represents the X location of the adaptive template pixel A4 for text-area encoding.
            Possible values range from -128 to 127 except when <see cref="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY4" /> is zero, in which case they range from –128 to -1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextGbatY4">
      <summary>
            Gets or sets the Y location of the adaptive template pixel A4 for text-area encoding.
            </summary>
      <value>
            An integer that represents the Y location of the adaptive template pixel A4 for text-area encoding.
            Possible values range from -128 to 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMinimumSymbolArea">
      <summary>
            Gets or sets a value indicating the minimum text symbol area.
            </summary>
      <value>An integer value that indicates the minimum text symbol area, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMinimumSymbolWidth">
      <summary>
            Gets or sets a value indicating the minimum text symbol width.
            </summary>
      <value>An integer value that indicates the minimum text symbol width, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMinimumSymbolHeight">
      <summary>
            Gets or sets a value indicating the minimum text symbol height.
            </summary>
      <value>An integer value that indicates the minimum text symbol height, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMaximumSymbolArea">
      <summary>
            Gets or sets a value indicating the maximum text symbol area.
            </summary>
      <value>An integer value that indicates the maximum text symbol area, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMaximumSymbolWidth">
      <summary>
            Gets or sets a value indicating the maximum text symbol width.
            </summary>
      <value>An integer value that indicates the maximum text symbol width, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextMaximumSymbolHeight">
      <summary>
            Gets or sets a value indicating the maximum text symbol height.
            </summary>
      <value>An integer value that indicates the maximum text symbol height, in pixels.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextDifferentialThreshold">
      <summary>
            Gets or sets a value indicating the maximum difference allowed to map a text symbol to a dictionary symbol.
            </summary>
      <value>An integer value that indicates the maximum allowable difference to map a text symbol to a dictionary symbol, in percent.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextQualityFactor">
      <summary>
            Gets or sets the degree of loss in the compression process for a text area.
            </summary>
      <value>
            An integer value that determines the degree of the loss in the compression process for a text area.
            The value of 0 means lossless while any other value means lossy. The default value is 0.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextRemoveUnrepeatedSymbol">
      <summary>
            Gets or sets a value indicating whether to remove unrepeated symbols from the dictionary.
            </summary>
      <value>
            true to remove unrepeated symbols from the dictionary; otherwise, false.
            </value>
      <remarks>
            Set this value to true to have those symbols in the dictionary which do not have any match in the image removed from the text dictionary to be encoded as non-text, resulting in a smaller file size.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.TextKeepAllSymbols">
      <summary>
            Gets or sets a value indicating whether to keep all dictionary symbols.
            </summary>
      <value>true to keep all dictionary symbols; otherwise, false.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.XResolution">
      <summary>
            Gets or sets the reference image X resolution which JBIG2 options were set according to it.
            </summary>
      <value>An integer value that represents the image X resolution to be used when setting JBIG2 options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.YResolution">
      <summary>
            Gets or sets the reference image Y resolution which JBIG2 options were set according to it.
            </summary>
      <value>An integer value that represents the image Y resolution to be used when setting JBIG2 options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.RemoveMarker">
      <summary>
            Gets or sets a value that indicates whether to remove the two bytes marker from generic region segment data.
            </summary>
      <value>
            true to remove the two bytes marker from generic region segment data; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.RemoveHeaderSegment">
      <summary>
            Gets or sets a value that indicates whether to remove the JBIG2 header segment.
            </summary>
      <value>
            true to remove the JBIG2 header segment; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.RemoveEopSegment">
      <summary>
            Gets or sets a value that indicates whether to remove the End of Page segment.
            </summary>
      <value>
            true to remove the End of Page segment; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.RemoveEofSegment">
      <summary>
            Gets or sets a value that indicates whether to remove the End of File segment.
            </summary>
      <value>
            true to remove the End of File segment; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2SaveOptions.EnableDictionary">
      <summary>
            Gets or sets a value that indicates whether to enable the encoder to use the text symbol dictionary.
            </summary>
      <value>
            true to to enable the encoder to use the text symbol dictionary; otherwise, false.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJbig2Options">
      <summary>
            Provides extra options for loading and saving JBIG2 images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsJbig2OptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.fpx"
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' Save as JBIG2 with Template #3
   codecs.Options.Jbig2.Save.RemoveMarker = True
   codecs.Options.Jbig2.Save.RemoveHeaderSegment = True
   codecs.Options.Jbig2.Save.RemoveEopSegment = True
   codecs.Options.Jbig2.Save.RemoveEofSegment = True
   codecs.Options.Jbig2.Save.ImageTypicalPredictionOn = True
   codecs.Options.Jbig2.Save.ImageTemplateType = 3

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jbig2.jb2", RasterImageFormat.Jbig2, 1)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsJbig2OptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.fpx";
   RasterImage srcImage = codecs.Load(srcFileName);

   // Save as JBIG2 with Template #3
   codecs.Options.Jbig2.Save.RemoveMarker = true;
   codecs.Options.Jbig2.Save.RemoveHeaderSegment = true;
   codecs.Options.Jbig2.Save.RemoveEopSegment = true;
   codecs.Options.Jbig2.Save.RemoveEofSegment = true;
   codecs.Options.Jbig2.Save.ImageTypicalPredictionOn = true;
   codecs.Options.Jbig2.Save.ImageTemplateType = 3;

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jbig2.jb2", RasterImageFormat.Jbig2, 1);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbig2Options.Save">
      <summary>
            Gets the options for saving JBIG2 images.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsJbig2SaveOptions" /> class that contains the options to be used when saving JBIG2 images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsSidLoadOptions">
      <summary>
            Gets the options for loading SID images.
            </summary>
      <value>The SID load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsSidOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSidLoadOptions.Resolution">
      <summary>
            Gets or sets the resolution to load.
            </summary>
      <value>The resolution to load.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsSidOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsSidOptions">
      <summary>
            Provides extra options for loading and saving SID images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsSidOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.sid"

   ' Setting new options.
   codecs.Options.Sid.Load.Resolution = New Size(200, 200)

   Dim image As RasterImage = codecs.Load(srcFileName)
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\sid.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsSidOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.sid";

   // Setting new options.
   codecs.Options.Sid.Load.Resolution = new Size(200, 200);

   RasterImage image = codecs.Load(srcFileName);
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\sid.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsSidOptions.Load">
      <summary>
            Gets the options for loading SID images.
            </summary>
      <value>
            The options for loading SID images.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsSidOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTransformFlags">
      <summary>
            Indicates the transform to perform.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">RasterCodecs.Transform</see>.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.None">
      <summary>
            None.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.Flip">
      <summary>
            Flip the image vertically.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.Reverse">
      <summary>
            Flip the image vertically.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.Rotate90">
      <summary>
            Rotate the image 90 degrees.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.Rotate180">
      <summary>
            Rotate the image 190 degrees.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformFlags.Rotate270">
      <summary>
            Rotate the image 270 degrees.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTransformMarkerAction">
      <summary>
            Indicates the action to take when processing a marker.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">RasterCodecs.Transform</see>.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformMarkerAction.Default">
      <summary>
            Default.  Pass to LEADTOOLS for normal processing.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformMarkerAction.Ignore">
      <summary>
            Ignore this marker.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsTransformMarkerAction.Abort">
      <summary>
            Abort the process.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTransformMarkerCallback">
      <summary>
            Handles the processing of every JPEG marker present in the file transformed by <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">RasterCodecs.Transform</see>.
            </summary>
      <param name="id">ID of the JPEG marker. The JPEG markers are uniquely identified by a byte value. Possible values are
            1 to 254. (0 and 255 are not allowed.)</param>
      <param name="data">A pointer to the unmanaged memory buffer containing the marker data. This parameter is valid only if
            <paramref name="dataLength" /> is &gt; 0.</param>
      <param name="dataLength">Size in bytes of the JPEG marker (<paramref name="data" />). The size will be less than 65535. If this value is 0, then the
            marker does not have any extra data and <paramref name="data" /> should be ignored.</param>
      <param name="transform">Flags that indicate the transform to be performed. These are the same flags passed to the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">RasterCodecs.Transform</see> method.</param>
      <returns>
        <para>A <see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction" /> enumeration member that determines the action taken by the
            <see cref="T:Leadtools.Codecs.RasterCodecs" /> after the callback is called.  Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term>
                <see cref="F:Leadtools.Codecs.CodecsTransformMarkerAction.Default" />
              </term>
              <description>Successful. The default processing for this marker can be performed</description>
            </item>
            <item>
              <term>
                <see cref="F:Leadtools.Codecs.CodecsTransformMarkerAction.Ignore" />
              </term>
              <description>Successful. Do not process this marker and do not write it to the file</description>
            </item>
            <item>
              <term>
                <see cref="F:Leadtools.Codecs.CodecsTransformMarkerAction.Abort" />
              </term>
              <description>Abort the process and do not transform anymore markers</description>
            </item>
          </list>
        </para>
      </returns>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">RasterCodecs.Transform</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.RasterCodecs">
      <summary>
            Provides support for loading and saving raster image files.
            </summary>
      <remarks>
        <para>LEADTOOLS provides many options for loading and saving image files.</para>
        <para>Whether an image file is on disk or in memory, you can get information about the image before loading it. You can also
            handle file-format-specific information, such as the page number or physical resolution.</para>
        <para>You can supply the input for a load operation or the output of a save operation, and you can add processing, such as a
            paint-while-load feature.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example loads an existing image file and re-saves it in another format.</para>
        <code lang="VB">
Public Sub RasterCodecsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim dstFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jpg"

   Dim image As RasterImage = codecs.Load(srcFileName)
   codecs.Save(image, dstFileName, RasterImageFormat.Jpeg, 0)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void RasterCodecsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string dstFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jpg";

   RasterImage image = codecs.Load(srcFileName);
   codecs.Save(image, dstFileName, RasterImageFormat.Jpeg, 0);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Startup">
      <summary>
            Initializes the required data to start the LEADTOOLS I/O Library.
            </summary>
      <remarks>
        <para>This static (shared) method must be called before using other members of the <see cref="N:Leadtools.Codecs" /> namespace.
            This usually occurs at the start of your application.</para>
        <para>
            Be sure that the DLLs in the LEADTOOLS I/O Library are available to your application. 
            There are two ways of doing this:</para>
        <list type="bullet">
          <item>
            <description>Install the DLLs in the application's directory</description>
          </item>
        </list>
        <para>OR</para>
        <list type="bullet">
          <item>
            <description>Install them in the Global Assembly Cache (GAC). For more 
            information
            on this method, refer to the 
            <see cref="T:Leadtools.Topics.TheMicrosoftGacutilTool">The Microsoft Gacutil Tool</see>.
            </description>
          </item>
        </list>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Shutdown">
      <summary>
            Releases all the data used to start the LEADTOOLS I/O Library.
            </summary>
      <remarks>
            This static (shared) method must be called when the members of the <see cref="N:Leadtools.Codecs" /> namespace is no longer to
            be used, usually before your application shuts down.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.RasterCodecs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Dispose">
      <summary>
            Releases all resources used by this <see cref="T:Leadtools.Codecs.RasterCodecs" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Finalize">
      <summary>
            This member overrides <see cref="M:System.Object.Finalize" />.
            </summary>
      <seealso cref="T:System.IDisposable" />
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Dispose(System.Boolean)">
      <summary>
            Releases all the resources used by this <see cref="T:Leadtools.Codecs.RasterCodecs" />.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)">
      <summary>
            Specifies the file format codecs to be loaded.
            </summary>
      <param name="fixedCodecs">Number of codecs that should stay loaded in memory at all times.</param>
      <param name="cachedCodecs">Number of codecs that should be loaded, but can be unloaded later to make room for other
            codecs.</param>
      <param name="codecs">A <see cref="T:System.String" /> containing the codecs which should be loaded.</param>
      <remarks>
        <para>If <paramref name="codecs" /> is empty, all file codecs LEADTOOLS can find will be loaded and LEADTOOLS will determine the
            order in which the files will be used.</para>
        <para>
          <paramref name="codecs" /> is in the form <c>xyz, yuv ...</c> where <c>Xyz</c> are the 3 letters describing the file
            codec as in <c>Leadtools.Codecs.Xyz.dll</c>. For instance, if <paramref name="codecs" /> is <c>BMP,TIF,CMP</c> then the
            following codecs will be loaded in the following order:</para>
        <para>
          <list type="number">
            <item>
              <description>Leadtools.Codecs.Bmp.dll</description>
            </item>
            <item>
              <description>Leadtools.Codecs.Tif.dll</description>
            </item>
            <item>
              <description>Leadtools.Codecs.Cmp.dll</description>
            </item>
          </list>
        </para>
        <para>The first <paramref name="fixedCodecs" /> will stay in memory at all times, then the next <paramref name="cachedCodecs" />
            will be loaded.  However, if other codecs will be needed, the cached codecs might be unloaded to make room for the new
            DLLs.</para>
        <para>It is recommended that the most commonly used DLLs be loaded as fixed to minimize the time required to load/unload
            file codecs. Also, some DLLs may require additional DLLs (like the <c>Leadtools.Codecs.Pdf.dll</c> or
            <c>Leadtools.Codecs.Tif.dll</c>) so the exact number of DLLs loaded is not necessarily equal
            <c>fixedCodecs + cachedCodecs.</c></para>
        <para>Before calling this method, you can get the default preload codecs list using <see cref="P:Leadtools.Codecs.RasterCodecs.PreloadCodecsList" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingFileFilters">Loading File Codecs</seealso>
      <example>
        <para>This example preloads the j2k filter and ignores the cmp filter.</para>
        <code lang="VB">
Public Sub PreloadCodecsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName1 As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k"
   Dim srcFileName2 As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   ' display the original values before changing them
   Console.WriteLine("PreloadCodecList - {0}", codecs.PreloadCodecsList)
   Console.WriteLine("FixedPreloadCodecs - {0}", codecs.FixedPreloadCodecs)
   Console.WriteLine("CachedPreloadCodecs - {0}", codecs.CachedPreloadCodecs)
   Console.WriteLine("IgnoreCodecList - {0}", codecs.IgnoreCodecsList)

   ' preload only the j2k filter and ignore the cmp filter
   codecs.PreloadCodecs(1, 1, "j2k")
   codecs.IgnoreCodecs("cmp")

   ' try to get info on a j2k image
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName1, False)
   Console.WriteLine("j2k - Width: {0}, Height {1}", info.Width, info.Height)

   ' try to get info on a cmp image
   Try
      info = codecs.GetInformation(srcFileName2, False)
   Catch
      Console.WriteLine("GetInformation for cmp failed - sample success!")
   End Try

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void PreloadCodecsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName1 = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k";
   string srcFileName2 = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   // display the original values before changing them
   Console.WriteLine("PreloadCodecList - {0}", codecs.PreloadCodecsList);
   Console.WriteLine("FixedPreloadCodecs - {0}", codecs.FixedPreloadCodecs);
   Console.WriteLine("CachedPreloadCodecs - {0}", codecs.CachedPreloadCodecs);
   Console.WriteLine("IgnoreCodecList - {0}", codecs.IgnoreCodecsList);

   // preload only the j2k filter and ignore the cmp filter
   codecs.PreloadCodecs(1, 1, "j2k");
   codecs.IgnoreCodecs("cmp");

   // try to get info on a j2k image
   CodecsImageInfo info = codecs.GetInformation(srcFileName1, false);
   Console.WriteLine("j2k - Width: {0}, Height {1}", info.Width, info.Height);

   // try to get info on a cmp image
   try
   {
      info = codecs.GetInformation(srcFileName2, false);
   }
   catch
   {
      Console.WriteLine("GetInformation for cmp failed - sample success!");
   }

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.IgnoreCodecs(System.String)">
      <summary>
            Specifies which file codecs LEADTOOLS should NEVER load, even if present.
            </summary>
      <param name="codecs">A <see cref="T:System.String" /> containing which codecs should be ignored and therefore not loaded.
            Has the same format as in <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</param>
      <remarks>
        <para>Use this method if you never want to load a particular file codec(s).  This is useful for instance if you never load
            AVI files and you want to ignore the AVI codec since this codec on its own loads all the DLLs required for
            Video for Windows (there are about 10 of them).</para>
        <para>The files specified in <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" /> take priority over the files specified in
            <see cref="M:Leadtools.Codecs.RasterCodecs.IgnoreCodecs(System.String)" />.  This means that if the codec is present in <paramref name="codecs" /> for both methods, then
            the codec will be loaded and will not be ignored.</para>
        <para>Before calling this method, you can get the default ignore codecs list using <see cref="P:Leadtools.Codecs.RasterCodecs.IgnoreCodecsList" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingFileFilters">Loading File Codecs</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">
      <summary>
            Gets information about the specified codec.
            </summary>
      <param name="codecName">The name of the codec to query. The codec name is usually a string containing 3 characters. The
            codec name is not case sensitive.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsCodecInformation" /> onject containing Information about the codec.</returns>
      <noremarks />
      <example>
        <para>This example gets and then updates information about the ptoca (ptk) filter.</para>
        <code lang="VB">
Public Sub GetCodecInformationExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim codecInfo As CodecsCodecInformation = codecs.GetCodecInformation("Tif")
   Console.WriteLine("CheckedByInformation : {0}", codecInfo.CheckedByInformation)
   Console.WriteLine("ExtensionList : {0}", codecInfo.ExtensionList)
   Console.WriteLine("IsPresent : {0}", codecInfo.IsPresent.ToString())
   Console.WriteLine("IsSlowInformation : {0}", codecInfo.IsSlowInformation.ToString())
   Console.WriteLine("LoadMode : {0}", codecInfo.LoadMode.ToString())
   Console.WriteLine("Name : {0}", codecInfo.Name)

   ' change the extensions that the ptk filter tries to handle
   codecInfo.ExtensionList = "ptk;ptoka;ptoca;ptca;ptka"
   codecs.SetCodecInformation(codecInfo)

   ' re-display the new settings
   codecInfo = codecs.GetCodecInformation("tif")
   Console.WriteLine("ExtensionList : {0}", codecInfo.ExtensionList)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void GetCodecInformationExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   CodecsCodecInformation codecInfo = codecs.GetCodecInformation("Tif");
   Console.WriteLine("CheckedByInformation : {0}", codecInfo.CheckedByInformation);
   Console.WriteLine("ExtensionList : {0}", codecInfo.ExtensionList);
   Console.WriteLine("IsPresent : {0}", codecInfo.IsPresent.ToString());
   Console.WriteLine("IsSlowInformation : {0}", codecInfo.IsSlowInformation.ToString());
   Console.WriteLine("LoadMode : {0}", codecInfo.LoadMode.ToString());
   Console.WriteLine("Name : {0}", codecInfo.Name);

   // change the extensions that the ptk filter tries to handle
   codecInfo.ExtensionList = "ptk;ptoka;ptoca;ptca;ptka";
   codecs.SetCodecInformation(codecInfo);

   // re-display the new settings
   codecInfo = codecs.GetCodecInformation("tif");
   Console.WriteLine("ExtensionList : {0}", codecInfo.ExtensionList);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SetCodecInformation(Leadtools.Codecs.CodecsCodecInformation)">
      <summary>
            Sets information for the specified codec.
            </summary>
      <param name="codecInfo">The information to be updated.</param>
      <remarks>
        <para>Use this to modify the default handling of the codecs. For example, you can use this to change the default file
            extension list for a certain codec.</para>
        <para>You can also use this to check for a certain file format only for files whose extension matches the default
            extension list.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetCodecsInformation">
      <summary>
            Gets the information for all the codecs.
            </summary>
      <returns>An array of <see cref="T:Leadtools.Codecs.CodecsCodecInformation" /> containing information for all the codecs.</returns>
      <remarks>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.SetCodecsInformation(Leadtools.Codecs.CodecsCodecInformation[])" /> to set information for all the codecs.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)" /> to get information for a particular codec.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.SetCodecInformation(Leadtools.Codecs.CodecsCodecInformation)" /> to set information for a particular codec.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SetCodecsInformation(Leadtools.Codecs.CodecsCodecInformation[])">
      <summary>
            Sets the information for all the codecs.
            </summary>
      <param name="information">An array of <see cref="T:Leadtools.Codecs.CodecsCodecInformation" /> containing information for all the
            codecs.</param>
      <remarks>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecsInformation" /> to get information for all the codecs.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)" /> to get information for a particular codec.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.SetCodecInformation(Leadtools.Codecs.CodecsCodecInformation)" /> to set information for a particular codec.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">
      <summary>
            Starts file I/O redirection.
            </summary>
      <remarks>
        <para>LEADTOOLS I/O redirection allows you to replace the default input/output methods for opening, reading, writing,
            seeking, and closing files.</para>
        <para>For example, you can redirect all the library I/O methods to your own I/O methods to load/save images from your
            own streams.</para>
        <para>Once you call <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" />, all subsequent file I/O operation will fire the following
            events:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Event</term>
              <description>Operation</description>
            </listheader>
            <item>
              <term>
                <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectOpen" />
              </term>
              <description>When the toolkit is trying to open a file</description>
            </item>
            <item>
              <term>
                <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectRead" />
              </term>
              <description>When the toolkit is trying to reading from a file</description>
            </item>
            <item>
              <term>
                <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectWrite" />
              </term>
              <description>When the toolkit is trying to writing to a file</description>
            </item>
            <item>
              <term>
                <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectSeek" />
              </term>
              <description>When the toolkit is trying to seeking into a file</description>
            </item>
            <item>
              <term>
                <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectClose" />
              </term>
              <description>When the toolkit is trying to closing a file</description>
            </item>
          </list>
        </para>
        <para>Call <see cref="M:Leadtools.Codecs.RasterCodecs.StopRedirecting" /> to reset the I/O methods back to the defaults.</para>
      </remarks>
      <example>
        <para>This example demonstrates overriding the default IO routines.</para>
        <code lang="VB">
' Redirect Read event example
Private myStream As FileStream
' Redirect Open event example
Private Sub Codecs_Open(ByVal sender As Object, ByVal e As CodecsRedirectOpenEventArgs)
   myStream = New FileStream(e.FileName, e.Mode)
   e.Success = True
End Sub

' Redirect Seek event example
Private Sub Codecs_Seek(ByVal sender As Object, ByVal e As CodecsRedirectSeekEventArgs)
   myStream.Seek(e.Offset, e.Origin)
End Sub

' Redirect Read event example
Private Sub Codecs_Read(ByVal sender As Object, ByVal e As CodecsRedirectReadEventArgs)
   Dim byteBuffer As Byte() = New Byte(e.Count - 1) {}
   myStream.Read(byteBuffer, 0, e.Count)
   Marshal.Copy(byteBuffer, 0, e.Buffer, e.Count)
   e.Read = e.Count
   Console.WriteLine("The number of bytes that read request should copy to the buffer is : {0}", e.Count)
   Console.WriteLine("The actual number of bytes that this read request has copied to Buffer is : {0}", e.Read)
End Sub

' Redirect Write event example
Private Sub Codecs_Write(ByVal sender As Object, ByVal e As CodecsRedirectWriteEventArgs)
   Dim byteBuffer As Byte() = New Byte(e.Count - 1) {}
   Marshal.Copy(e.Buffer, byteBuffer, 0, e.Count)
   e.Written = e.Count
   myStream.Write(byteBuffer, 0, e.Count)

   Console.WriteLine("The number of bytes that write request should copy from the buffer is : {0}", e.Count)
   Console.WriteLine("The actual number of bytes that this write request has copied from Buffer is : {0}", e.Written)
End Sub

' Redirect Close event example
Private Sub Codecs_Close(ByVal sender As Object, ByVal e As CodecsRedirectCloseEventArgs)
   myStream.Close()
End Sub


Public Sub StartRedirectingExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.RedirectOpen, AddressOf Codecs_Open
   AddHandler codecs.RedirectSeek, AddressOf Codecs_Seek
   AddHandler codecs.RedirectRead, AddressOf Codecs_Read
   AddHandler codecs.RedirectWrite, AddressOf Codecs_Write
   AddHandler codecs.RedirectClose, AddressOf Codecs_Close

   Dim srcFilename As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   codecs.StartRedirecting()
   Dim image As RasterImage = codecs.Load(srcFilename)
   myStream.Close()
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_redirect.jpg", RasterImageFormat.Jpeg, image.BitsPerPixel)
   codecs.StopRedirecting()

   ' Clean up
   myStream.Dispose()
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
// Redirect Read event example
FileStream myStream;
// Redirect Open event example
private void Codecs_Open(object sender, CodecsRedirectOpenEventArgs e)
{
   myStream = new FileStream(e.FileName, e.Mode);
   e.Success = true;
}

// Redirect Seek event example
private void Codecs_Seek(object sender, CodecsRedirectSeekEventArgs e)
{
   myStream.Seek(e.Offset, e.Origin);
}

// Redirect Read event example
private void Codecs_Read(object sender, CodecsRedirectReadEventArgs e)
{
   byte[] byteBuffer = new byte[e.Count];
   myStream.Read(byteBuffer, 0, e.Count);
   Marshal.Copy(byteBuffer, 0, e.Buffer, e.Count);
   e.Read = e.Count;
   Console.WriteLine("The number of bytes that read request should copy to the buffer is : {0}", e.Count);
   Console.WriteLine("The actual number of bytes that this read request has copied to Buffer is : {0}", e.Read);
}

// Redirect Write event example
private void Codecs_Write(object sender, CodecsRedirectWriteEventArgs e)
{
   byte[] byteBuffer = new byte[e.Count];
   Marshal.Copy(e.Buffer, byteBuffer, 0, e.Count);
   e.Written = e.Count;
   myStream.Write(byteBuffer, 0, e.Count);

   Console.WriteLine("The number of bytes that write request should copy from the buffer is : {0}", e.Count);
   Console.WriteLine("The actual number of bytes that this write request has copied from Buffer is : {0}", e.Written);
}

// Redirect Close event example
private void Codecs_Close(object sender, CodecsRedirectCloseEventArgs e)
{
   myStream.Close();
}


public void StartRedirectingExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   codecs.RedirectOpen += new EventHandler&lt;CodecsRedirectOpenEventArgs&gt;(Codecs_Open);
   codecs.RedirectSeek += new EventHandler&lt;CodecsRedirectSeekEventArgs&gt;(Codecs_Seek);
   codecs.RedirectRead += new EventHandler&lt;CodecsRedirectReadEventArgs&gt;(Codecs_Read);
   codecs.RedirectWrite += new EventHandler&lt;CodecsRedirectWriteEventArgs&gt;(Codecs_Write);
   codecs.RedirectClose += new EventHandler&lt;CodecsRedirectCloseEventArgs&gt;(Codecs_Close);

   string srcFilename = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   codecs.StartRedirecting();
   RasterImage image = codecs.Load(srcFilename);
   myStream.Close();
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_redirect.jpg", RasterImageFormat.Jpeg, image.BitsPerPixel);
   codecs.StopRedirecting();

   // Clean up
   myStream.Dispose();
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopRedirecting">
      <summary>
            Stops file I/O redirection and resets the I/O methods back to their defaults.
            </summary>
      <remarks>
        <para>LEADTOOLS I/O redirection allows you to replace the default input/output methods for opening, reading, writing,
            seeking, and closing files.</para>
        <para>For example, you can redirect all the library I/O methods to your own I/O methods to load/save images from your
            own streams</para>.
            <para>Call <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> to enable I/O redirection and <see cref="M:Leadtools.Codecs.RasterCodecs.StopRedirecting" /> to reset it back
            to the defaults.</para></remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)">
      <summary>
            Gets the image information from a disk file.
            </summary>
      <param name="fileName">
        <see cref="T:System.String" /> containing the input file name to query.</param>
      <param name="totalPages">true to query the file for total number of pages, false otherwise.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <code lang="VB">
Public Sub GetInformationStringExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' Get Information on a GIF image file and write it out
   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif"
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("BitsPerPixel: {0}", info.BitsPerPixel))
   Console.WriteLine(String.Format("BytesPerLine: {0}", info.BytesPerLine))
   Console.WriteLine(String.Format("ColorSpace: {0}", info.ColorSpace.ToString()))
   Console.WriteLine(String.Format("Compresion: {0}", info.Compression))
   Console.WriteLine(String.Format("Fax: {0}", info.Fax))
   Console.WriteLine(String.Format("Format: {0}", info.Format))
   If info.Gif.HasAnimationBackground Then
      Console.WriteLine(String.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()))
   End If
   Console.WriteLine(String.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight))
   Console.WriteLine(String.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth))
   If info.Gif.HasAnimationLoop Then
      Console.WriteLine(String.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()))
   End If
   If info.Gif.HasAnimationPalette Then
      Dim pal As RasterColor() = info.Gif.GetAnimationPalette()
      Console.WriteLine("GifAnimationPalette:" &amp; Constants.vbLf)
      Dim x As Integer = 0
      Do While x &lt; pal.Length
         Console.Write("{0},", pal(x))
         x += 1
      Loop
      Console.WriteLine(Constants.vbLf)
   End If
   Console.WriteLine(String.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()))
   Console.WriteLine(String.Format("PageNumber: {0}", info.PageNumber))
   Console.WriteLine(String.Format("TotalPages: {0}", info.TotalPages))

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void GetInformationStringExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // Get Information on a GIF image file and write it out
   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif";
   CodecsImageInfo info = codecs.GetInformation(srcFileName, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("BitsPerPixel: {0}", info.BitsPerPixel));
   Console.WriteLine(string.Format("BytesPerLine: {0}", info.BytesPerLine));
   Console.WriteLine(string.Format("ColorSpace: {0}", info.ColorSpace.ToString()));
   Console.WriteLine(string.Format("Compresion: {0}", info.Compression));
   Console.WriteLine(string.Format("Fax: {0}", info.Fax));
   Console.WriteLine(string.Format("Format: {0}", info.Format));
   if(info.Gif.HasAnimationBackground)
      Console.WriteLine(string.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()));
   Console.WriteLine(string.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight));
   Console.WriteLine(string.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth));
   if(info.Gif.HasAnimationLoop)
      Console.WriteLine(string.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()));
   if(info.Gif.HasAnimationPalette)
   {
      RasterColor[] pal = info.Gif.GetAnimationPalette();
      Console.WriteLine("GifAnimationPalette:\n");
      for(int x = 0; x &lt; pal.Length; x++)
      {
         Console.Write("{0},", pal[x]);
      }
      Console.WriteLine("\n");
   }
   Console.WriteLine(string.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()));
   Console.WriteLine(string.Format("PageNumber: {0}", info.PageNumber));
   Console.WriteLine(string.Format("TotalPages: {0}", info.TotalPages));

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean,System.Int32)">
      <summary>
            Gets the specific image page information from a disk file.
            </summary>
      <param name="fileName">
        <see cref="T:System.String" /> containing the input file name to query.</param>
      <param name="totalPages">true to query the file for total number of pages, false otherwise.</param>
      <param name="pageNumber">Page number in the file to query.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.IO.Stream,System.Boolean)">
      <summary>
            Gets the image information from a stream.
            </summary>
      <param name="stream">
        <see cref="T:System.IO.Stream" /> containing the input image data.</param>
      <param name="totalPages">true to query the file for total number of pages, false otherwise.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <code lang="VB">
Public Sub GetInformationStreamExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' Get Information on a GIF image file and write it out
   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif"
   Dim fileInMemory As FileStream = New FileStream(srcFileName, FileMode.Open)

   Dim info As CodecsImageInfo = codecs.GetInformation(fileInMemory, True)
   Console.WriteLine("Information for: {0}", srcFileName)
   Console.WriteLine(String.Format("BitsPerPixel: {0}", info.BitsPerPixel))
   Console.WriteLine(String.Format("BytesPerLine: {0}", info.BytesPerLine))
   Console.WriteLine(String.Format("ColorSpace: {0}", info.ColorSpace.ToString()))
   Console.WriteLine(String.Format("Compresion: {0}", info.Compression))
   Console.WriteLine(String.Format("Fax: {0}", info.Fax))
   Console.WriteLine(String.Format("Format: {0}", info.Format))
   If info.Gif.HasAnimationBackground Then
      Console.WriteLine(String.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()))
   End If
   Console.WriteLine(String.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight))
   Console.WriteLine(String.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth))
   If info.Gif.HasAnimationLoop Then
      Console.WriteLine(String.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()))
   End If
   If info.Gif.HasAnimationPalette Then
      Dim pal As RasterColor() = info.Gif.GetAnimationPalette()
      Console.WriteLine("GifAnimationPalette:" &amp; Constants.vbLf)
      Dim x As Integer = 0
      Do While x &lt; pal.Length
         Console.Write("{0},", pal(x))
         x += 1
      Loop
      Console.WriteLine(Constants.vbLf)
   End If
   Console.WriteLine(String.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()))
   Console.WriteLine(String.Format("PageNumber: {0}", info.PageNumber))
   Console.WriteLine(String.Format("TotalPages: {0}", info.TotalPages))

   ' Clean up
   codecs.Dispose()
   fileInMemory.Close()
   fileInMemory.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void GetInformationStreamExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // Get Information on a GIF image file and write it out
   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif";
   FileStream fileInMemory = new FileStream(srcFileName, FileMode.Open);

   CodecsImageInfo info = codecs.GetInformation(fileInMemory, true);
   Console.WriteLine("Information for: {0}", srcFileName);
   Console.WriteLine(string.Format("BitsPerPixel: {0}", info.BitsPerPixel));
   Console.WriteLine(string.Format("BytesPerLine: {0}", info.BytesPerLine));
   Console.WriteLine(string.Format("ColorSpace: {0}", info.ColorSpace.ToString()));
   Console.WriteLine(string.Format("Compresion: {0}", info.Compression));
   Console.WriteLine(string.Format("Fax: {0}", info.Fax));
   Console.WriteLine(string.Format("Format: {0}", info.Format));
   if(info.Gif.HasAnimationBackground)
      Console.WriteLine(string.Format("Gif.AnimationBackground: {0}", info.Gif.AnimationBackground.ToString()));
   Console.WriteLine(string.Format("Gif.AnimationHeight: {0}", info.Gif.AnimationHeight));
   Console.WriteLine(string.Format("Gif.AnimationWidth: {0}", info.Gif.AnimationWidth));
   if(info.Gif.HasAnimationLoop)
      Console.WriteLine(string.Format("Gif.AnimationLoop: {0}", info.Gif.AnimationLoop.ToString()));
   if(info.Gif.HasAnimationPalette)
   {
      RasterColor[] pal = info.Gif.GetAnimationPalette();
      Console.WriteLine("GifAnimationPalette:\n");
      for(int x = 0; x &lt; pal.Length; x++)
      {
         Console.Write("{0},", pal[x]);
      }
      Console.WriteLine("\n");
   }
   Console.WriteLine(string.Format("Gif.IsInterlaced: {0}", info.Gif.IsInterlaced.ToString()));
   Console.WriteLine(string.Format("PageNumber: {0}", info.PageNumber));
   Console.WriteLine(string.Format("TotalPages: {0}", info.TotalPages));

   // Clean up
   codecs.Dispose();
   fileInMemory.Close();
   fileInMemory.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.IO.Stream,System.Boolean,System.Int32)">
      <summary>
            Gets the specific image page information from a stream.
            </summary>
      <param name="stream">
        <see cref="T:System.IO.Stream" /> containing the input image data.</param>
      <param name="totalPages">true to query the file for total number of pages, false otherwise.</param>
      <param name="pageNumber">Page number in the file to query.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.IO.Stream,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.Uri,System.Boolean)">
      <summary>
            Gets the specific image page information from the specified <see cref="T:System.Uri" />.
            </summary>
      <param name="uri">The <see cref="T:System.Uri" /> containing the input image data.</param>
      <param name="totalPages">true to query the URI for total number of pages, false otherwise.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
        <para>LEADTOOLS supports the following URI schemes:
            <list type="table"><listheader><term>Scheme</term><description>Description</description></listheader><item><term><see cref="F:System.Uri.UriSchemeFile" /></term><description>Specifies that the URI is a disk file in local machine or universal naming convention (UNC) path.</description></item><item><term><see cref="F:System.Uri.UriSchemeHttp" /></term><description>Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP).</description></item><item><term><see cref="F:System.Uri.UriSchemeHttps" /></term><description>Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS).</description></item><item><term><see cref="F:System.Uri.UriSchemeFtp" /></term><description>Specifies that the URI is accessed through the File Transfer Protocol (FTP).</description></item></list></para>
        <para>If <paramref name="uri" /> points to a resource in a <see cref="F:System.Uri.UriSchemeHttp" />, <see cref="F:System.Uri.UriSchemeHttps" /> or
            <see cref="F:System.Uri.UriSchemeFtp" />, then this <see cref="T:Leadtools.Codecs.RasterCodecs" /> will attempt to download image data in an iterative fashion by
            creating a temporary buffer. The size of this buffer can be determined and changed by setting up the
            <see cref="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize" /> prior to calling this method.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <code lang="VB">
Public Sub GetInformationUriExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   ' Get Information on an image in an HTTP url
   Dim uri As New Uri("http://www.leadtools.com/images/15-homepg-banner.jpg")
   Dim info As CodecsImageInfo = codecs.GetInformation(uri, True)

   Console.WriteLine("Information for: {0}", uri)
   Console.WriteLine(String.Format("BitsPerPixel: {0}", info.BitsPerPixel))
   Console.WriteLine(String.Format("BytesPerLine: {0}", info.BytesPerLine))
   Console.WriteLine(String.Format("ColorSpace: {0}", info.ColorSpace.ToString()))
   Console.WriteLine(String.Format("Compresion: {0}", info.Compression))
   Console.WriteLine(String.Format("Format: {0}", info.Format))

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void GetInformationUriExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // Get Information on an image in an HTTP url
   Uri uri = new Uri(@"http://www.leadtools.com/images/15-homepg-banner.jpg");
   CodecsImageInfo info = codecs.GetInformation(uri, true);

   Console.WriteLine("Information for: {0}", uri);
   Console.WriteLine(string.Format("BitsPerPixel: {0}", info.BitsPerPixel));
   Console.WriteLine(string.Format("BytesPerLine: {0}", info.BytesPerLine));
   Console.WriteLine(string.Format("ColorSpace: {0}", info.ColorSpace.ToString()));
   Console.WriteLine(string.Format("Compresion: {0}", info.Compression));
   Console.WriteLine(string.Format("Format: {0}", info.Format));

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.Uri,System.Boolean,System.Int32)">
      <summary>
            Gets the specific image page information from the specified <see cref="T:System.Uri" />.
            </summary>
      <param name="uri">The <see cref="T:System.Uri" /> containing the input image data.</param>
      <param name="totalPages">true to query the URI for total number of pages, false otherwise.</param>
      <param name="pageNumber">Page number in the URI to query.</param>
      <returns>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains the information about the specified image.</returns>
      <remarks>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
        <para>LEADTOOLS supports the following URI schemes:
            <list type="table"><listheader><term>Scheme</term><description>Description</description></listheader><item><term><see cref="F:System.Uri.UriSchemeFile" /></term><description>Specifies that the URI is a disk file in local machine or universal naming convention (UNC) path.</description></item><item><term><see cref="F:System.Uri.UriSchemeHttp" /></term><description>Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP).</description></item><item><term><see cref="F:System.Uri.UriSchemeHttps" /></term><description>Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS).</description></item><item><term><see cref="F:System.Uri.UriSchemeFtp" /></term><description>Specifies that the URI is accessed through the File Transfer Protocol (FTP).</description></item></list></para>
        <para>If <paramref name="uri" /> points to a resource in a <see cref="F:System.Uri.UriSchemeHttp" />, <see cref="F:System.Uri.UriSchemeHttps" /> or
            <see cref="F:System.Uri.UriSchemeFtp" />, then this <see cref="T:Leadtools.Codecs.RasterCodecs" /> will attempt to download image data in an iterative fashion by
            creating a temporary buffer. The size of this buffer can be determined and changed by setting up the
            <see cref="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize" /> prior to calling this method.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.Uri,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String)">
      <summary>
            Loads the specified image file using default options.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the file.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load all the pages from a single multipage file</para>
        <code lang="VB">
Public Sub LoadFile1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim singlePageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim multiPageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"

   ' Get the file information (we are interested in the number of pages)
   Dim info As CodecsImageInfo = codecs.GetInformation(singlePageFileName, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   ' Load the image and verify that we loaded all the pages
   Dim image As RasterImage = codecs.Load(singlePageFileName)
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)
   image.Dispose()

   ' Repeat for a multipage file

   info = codecs.GetInformation(multiPageFileName, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   image = codecs.Load(multiPageFileName)
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadFile1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string singlePageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string multiPageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";

   // Get the file information (we are interested in the number of pages)
   CodecsImageInfo info = codecs.GetInformation(singlePageFileName, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   // Load the image and verify that we loaded all the pages
   RasterImage image = codecs.Load(singlePageFileName);
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);
   image.Dispose();

   // Repeat for a multipage file

   info = codecs.GetInformation(multiPageFileName, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   image = codecs.Load(multiPageFileName);
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream)">
      <summary>
            Loads the specified image stream using default options.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the image data to load.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>The stream can point to any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the stream.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load all the pages from a stream that contains a single multipage file</para>
        <code lang="VB">
Public Sub LoadStream1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim singlePageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim multiPageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"

   ' Load the file into a stream
   Dim fs As FileStream = File.OpenRead(singlePageFileName)

   ' Get the file information (we are interested in the number of pages)
   Dim info As CodecsImageInfo = codecs.GetInformation(fs, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   ' Load the image and verify that we loaded all the pages
   Dim image As RasterImage = codecs.Load(fs)
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)

   image.Dispose()
   fs.Close()

   ' Repeat for a multipage file

   fs = File.OpenRead(multiPageFileName)

   info = codecs.GetInformation(fs, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   image = codecs.Load(fs)
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)

   image.Dispose()
   fs.Close()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadStream1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string singlePageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string multiPageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";

   // Load the file into a stream
   FileStream fs = File.OpenRead(singlePageFileName);

   // Get the file information (we are interested in the number of pages)
   CodecsImageInfo info = codecs.GetInformation(fs, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   // Load the image and verify that we loaded all the pages
   RasterImage image = codecs.Load(fs);
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);

   image.Dispose();
   fs.Close();

   // Repeat for a multipage file

   fs = File.OpenRead(multiPageFileName);

   info = codecs.GetInformation(fs, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   image = codecs.Load(fs);
   Console.WriteLine("Number of pages loaded: {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);

   image.Dispose();
   fs.Close();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads the specified image file using specific options.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will show how to load an image using different bits/pixel and color order than saved on disk.
Also, it will show how to load a single page or a group of pages from a multipage file</para>
        <code lang="VB">
Public Sub LoadFile2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' First, test loading as different color byte order and bits per pixel
   Dim singlePageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   ' Get the file information
   Dim info As CodecsImageInfo = codecs.GetInformation(singlePageFileName, True)
   Console.WriteLine("Order according to info is: {0}, bits/pixel is: {1}", info.Order, info.BitsPerPixel)

   ' Now, load this file with different color byte order and bits per pixel
   Dim bitsPerPixel As Integer = 1
   Dim image As RasterImage = codecs.Load(singlePageFileName, bitsPerPixel, CodecsLoadByteOrder.Rgb, 1, 1)
   Console.WriteLine("Loaded as {0} order and {1} bits/pixel", image.Order, image.BitsPerPixel)
   Debug.Assert(bitsPerPixel = image.BitsPerPixel)
   image.Dispose()

   Dim multiPageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"

   ' Get the file information (we are interested in the number of pages)
   info = codecs.GetInformation(multiPageFileName, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   ' Load the first page
   Dim first As Integer = 1
   Dim last As Integer = 1
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' Load the second page
   first = 2
   last = 2
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' Load from the second page to page before last
   first = 2
   last = info.TotalPages - 1
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' load all the pages
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, -1)
   Console.WriteLine("Loading all pages, pages loaded = {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadFile2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // First, test loading as different color byte order and bits per pixel
   string singlePageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   // Get the file information
   CodecsImageInfo info = codecs.GetInformation(singlePageFileName, true);
   Console.WriteLine("Order according to info is: {0}, bits/pixel is: {1}", info.Order, info.BitsPerPixel);

   // Now, load this file with different color byte order and bits per pixel
   int bitsPerPixel = 1;
   RasterImage image = codecs.Load(singlePageFileName, bitsPerPixel, CodecsLoadByteOrder.Rgb, 1, 1);
   Console.WriteLine("Loaded as {0} order and {1} bits/pixel", image.Order, image.BitsPerPixel);
   Debug.Assert(bitsPerPixel == image.BitsPerPixel);
   image.Dispose();

   string multiPageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";

   // Get the file information (we are interested in the number of pages)
   info = codecs.GetInformation(multiPageFileName, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   // Load the first page
   int first = 1;
   int last = 1;
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // Load the second page
   first = 2;
   last = 2;
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // Load from the second page to the second before last page
   first = 2;
   last = info.TotalPages - 1;
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // load all the pages
   image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, -1);
   Console.WriteLine("Loading all pages, pages loaded = {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads the specified image stream using specific options
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the the image data to load.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the stream.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will show how to load an image using different bits/pixel and color order than that saved on disk.
Also, it will show how to load a single page or a group of pages from a multipage file
All loading operation uses a stream instead of a file on disk</para>
        <code lang="VB">
Public Sub LoadStream2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim multiPageFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"

   Dim fs As FileStream = File.OpenRead(multiPageFileName)

   ' Get the file information (we are interested in the number of pages)
   Dim info As CodecsImageInfo = codecs.GetInformation(fs, True)
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages)

   ' Load the first page
   Dim first As Integer = 1
   Dim last As Integer = 1
   Dim image As RasterImage = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' Load the second page
   first = 2
   last = 2
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' Load from the second page to page before last
   first = 2
   last = info.TotalPages - 1
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last)
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount)
   Debug.Assert(image.PageCount = last - first + 1)
   image.Dispose()

   ' load all the pages
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 1, -1)
   Console.WriteLine("Loading all pages, pages loaded = {0}", image.PageCount)
   Debug.Assert(image.PageCount = info.TotalPages)
   image.Dispose()

   fs.Close()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadStream2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string multiPageFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";

   FileStream fs = File.OpenRead(multiPageFileName);

   // Get the file information (we are interested in the number of pages)
   CodecsImageInfo info = codecs.GetInformation(fs, true);
   Console.WriteLine("Number of pages according to info: {0}", info.TotalPages);

   // Load the first page
   int first = 1;
   int last = 1;
   RasterImage image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // Load the second page
   first = 2;
   last = 2;
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // Load from the second page to page before last
   first = 2;
   last = info.TotalPages - 1;
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, first, last);
   Console.WriteLine("Loading pages {0} to {1}, pages loaded = {2}", first, last, image.PageCount);
   Debug.Assert(image.PageCount == last - first + 1);
   image.Dispose();

   // load all the pages
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 1, -1);
   Console.WriteLine("Loading all pages, pages loaded = {0}", image.PageCount);
   Debug.Assert(image.PageCount == info.TotalPages);
   image.Dispose();

   fs.Close();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream,System.Int64,System.Int64)">
      <summary>
            Loads an image file, letting you specify the location of the image data within the stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the image data to load.</param>
      <param name="offset">Offset from the beginning of the stream at which loading should start.</param>
      <param name="count">Total size of the image file data.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method can be used to load an image file that is embedded in another stream.</para>
        <para>The location of the image is specified as shown in the following simple illustration:</para>
        <para>
          <img src="LoadOffset.gif" />
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image. For these images,
            the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the file.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load an image located in an offset into a stream</para>
        <code lang="VB">
Public Sub LoadStreamOffset1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadStreamOffset1.bmp"

   ' Create a memory stream, add a cutsom header then copy the content of the file
   ' into this stream.  After that, load the image from the stream given the offset

   Dim ms As MemoryStream = New MemoryStream()

   ' Add some custom header to the stream (4 bytes)
   Dim headerSize As Integer = 4
   Dim i As Integer = 0
   Do While i &lt; headerSize
      ms.WriteByte(0)
      i += 1
   Loop

   ' Now append the file into this stream
   Dim fs As FileStream = File.OpenRead(srcFileName)

   Const bufferSize As Integer = 1024
   Dim buffer As Byte() = New Byte(bufferSize - 1) {}
   Dim bytesRead As Integer
   Do
      bytesRead = fs.Read(buffer, 0, bufferSize)
      If bytesRead &gt; 0 Then
         ms.Write(buffer, 0, bytesRead)
      End If
   Loop While bytesRead &gt; 0

   fs.Close()

   ' Reset the memory stream position to the beginning
   ms.Position = 0

   ' Now load the image with the offset
   Dim offset As Long = headerSize
   Dim count As Long = ms.Length - headerSize
   Dim image As RasterImage = codecs.Load(ms, offset, count)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadStreamOffset1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadStreamOffset1.bmp";

   // Create a memory stream, add a cutsom header then copy the content of the file
   // into this stream.  After that, load the image from the stream given the offset

   MemoryStream ms = new MemoryStream();

   // Add some custom header to the stream (4 bytes)
   int headerSize = 4;
   for(int i = 0; i &lt; headerSize; i++)
      ms.WriteByte(0);

   // Now append the file into this stream
   FileStream fs = File.OpenRead(srcFileName);

   const int bufferSize = 1024;
   byte[] buffer = new byte[bufferSize];
   int bytesRead;
   do
   {
      bytesRead = fs.Read(buffer, 0, bufferSize);
      if(bytesRead &gt; 0)
         ms.Write(buffer, 0, bytesRead);
   }
   while(bytesRead &gt; 0);

   fs.Close();

   // Reset the memory stream position to the beginning
   ms.Position = 0;

   // Now load the image with the offset
   long offset = headerSize;
   long count = ms.Length - headerSize;
   RasterImage image = codecs.Load(ms, offset, count);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream,System.Int64,System.Int64,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads an image file, letting you specify the location of the image data within the stream and the options to use when loading.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the image data to load.</param>
      <param name="offset">Offset from the beginning of the stream at which loading should start.</param>
      <param name="count">Total size of the image file data.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the stream.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method can be used to load an image file that is embedded in another stream.</para>
        <para>The location of the image is specified as shown in the following simple illustration:</para>
        <para>
          <img src="LoadOffset.gif" />
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image. For these images,
            the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the file.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load a multipage image located in an offset into a stream</para>
        <code lang="VB">
Public Sub LoadStreamOffset2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadStreamOffset2.bmp"

   ' Create a memory stream, add a cutsom header then copy the content of the file
   ' into this stream.  After that, load the image from the stream given the offset

   Dim ms As MemoryStream = New MemoryStream()

   ' Add some custom header to the stream (4 bytes)
   Dim headerSize As Integer = 4
   Dim i As Integer = 0
   Do While i &lt; headerSize
      ms.WriteByte(0)
      i += 1
   Loop

   ' Now append the file into this stream
   Dim fs As FileStream = File.OpenRead(srcFileName)

   Const bufferSize As Integer = 1024
   Dim buffer As Byte() = New Byte(bufferSize - 1) {}
   Dim bytesRead As Integer
   Do
      bytesRead = fs.Read(buffer, 0, bufferSize)
      If bytesRead &gt; 0 Then
         ms.Write(buffer, 0, bytesRead)
      End If
   Loop While bytesRead &gt; 0

   fs.Close()

   ' Reset the memory stream position to the beginning
   ms.Position = 0

   ' Now load the second page in the image using the offset
   Dim offset As Long = headerSize
   Dim count As Long = ms.Length - headerSize
   Dim image As RasterImage = codecs.Load(ms, offset, count, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadStreamOffset2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadStreamOffset2.bmp";

   // Create a memory stream, add a cutsom header then copy the content of the file
   // into this stream.  After that, load the image from the stream given the offset

   MemoryStream ms = new MemoryStream();

   // Add some custom header to the stream (4 bytes)
   int headerSize = 4;
   for(int i = 0; i &lt; headerSize; i++)
      ms.WriteByte(0);

   // Now append the file into this stream
   FileStream fs = File.OpenRead(srcFileName);

   const int bufferSize = 1024;
   byte[] buffer = new byte[bufferSize];
   int bytesRead;
   do
   {
      bytesRead = fs.Read(buffer, 0, bufferSize);
      if(bytesRead &gt; 0)
         ms.Write(buffer, 0, bytesRead);
   }
   while(bytesRead &gt; 0);

   fs.Close();

   // Reset the memory stream position to the beginning
   ms.Position = 0;

   // Now load the second page in the image using the offset
   long offset = headerSize;
   long count = ms.Length - headerSize;
   RasterImage image = codecs.Load(ms, offset, count, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String,System.Drawing.Rectangle)">
      <summary>
            Loads the specified rectangle from the specified image file using default options.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="tile">A <see cref="T:System.Drawing.Rectangle" /> describing the tile/area of the image to load.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <remarks>
        <para>This method loads a section of an image file (any format). The section begins is defined by <paramref name="tile" /> rectangle.</para>
        <para>
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will create a rectangle area from an image on disk.</para>
        <code lang="VB">
Public Sub LoadTileFile1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileFile1.bmp"

   ' Get the image dimension
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, False)

   ' Load the lower right corner of the image
   Dim rc As Rectangle = New Rectangle(info.Width \ 2, info.Height \ 2, info.Width \ 2, info.Height \ 2)

   Dim image As RasterImage = codecs.Load(srcFileName, rc)
   Debug.Assert(image.Width = (info.Width \ 2))
   Debug.Assert(image.Height = (info.Height \ 2))

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadTileFile1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileFile1.bmp";

   // Get the image dimension
   CodecsImageInfo info = codecs.GetInformation(srcFileName, false);

   // Load the lower right corner of the image
   Rectangle rc = new Rectangle(
      info.Width / 2,
      info.Height / 2,
      info.Width / 2,
      info.Height / 2);

   RasterImage image = codecs.Load(srcFileName, rc);
   Debug.Assert(image.Width == (info.Width / 2));
   Debug.Assert(image.Height == (info.Height / 2));

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream,System.Drawing.Rectangle)">
      <summary>
            Loads the specified rectangle from the specified image stream using default options.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the image data to load.</param>
      <param name="tile">A <see cref="T:System.Drawing.Rectangle" /> describing the tile/area of the image to load.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method loads a section of an image stream (any format). The section begins is defined by <paramref name="tile" /> rectangle.</para>
        <para>
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will create a rectangle area from a stream containing image data.</para>
        <code lang="VB">
Public Sub LoadTileStream1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileStream1.bmp"

   Dim fs As FileStream = File.OpenRead(srcFileName)

   ' Get the image dimension
   Dim info As CodecsImageInfo = codecs.GetInformation(fs, False)

   ' Load the lower right corner of the image
   Dim rc As Rectangle = New Rectangle(info.Width \ 2, info.Height \ 2, info.Width \ 2, info.Height \ 2)

   Dim image As RasterImage = codecs.Load(fs, rc)
   fs.Close()

   Debug.Assert(image.Width = (info.Width \ 2))
   Debug.Assert(image.Height = (info.Height \ 2))

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadTileStream1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileStream1.bmp";

   FileStream fs = File.OpenRead(srcFileName);

   // Get the image dimension
   CodecsImageInfo info = codecs.GetInformation(fs, false);

   // Load the lower right corner of the image
   Rectangle rc = new Rectangle(
      info.Width / 2,
      info.Height / 2,
      info.Width / 2,
      info.Height / 2);

   RasterImage image = codecs.Load(fs, rc);
   fs.Close();

   Debug.Assert(image.Width == (info.Width / 2));
   Debug.Assert(image.Height == (info.Height / 2));

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String,System.Drawing.Rectangle,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads the specified rectangle from the specified image file using the specified options.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="tile">A <see cref="T:System.Drawing.Rectangle" /> describing the tile/area of the image to load.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method loads a section of an image file (any format). The section begins is defined by <paramref name="tile" /> rectangle.</para>
        <para>
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load the middle portion of the second page of a multipage file as 1 bits/pixel</para>
        <code lang="VB">
Public Sub LoadTileFile2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileFile2.bmp"

   ' Get the image dimension
   Dim pageNumber As Integer = 2
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, True, pageNumber)

   ' Load the middle portion of the page
   Dim width As Integer = info.Width \ 3
   Dim height As Integer = info.Height \ 3
   Dim rc As Rectangle = New Rectangle((info.Width - width) \ 2, (info.Height - height) \ 2, width, height)

   Dim image As RasterImage = codecs.Load(srcFileName, rc, 1, CodecsLoadByteOrder.Rgb, 2, 2)
   Debug.Assert(image.PageCount = 1)
   Debug.Assert(image.Width = rc.Width)
   Debug.Assert(image.Height = rc.Height)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 1)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadTileFile2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileFile2.bmp";

   // Get the image dimension
   int pageNumber = 2;
   CodecsImageInfo info = codecs.GetInformation(srcFileName, true, pageNumber);

   // Load the middle portion of the page
   int width = info.Width / 3;
   int height = info.Height / 3;
   Rectangle rc = new Rectangle(
      (info.Width - width) / 2,
      (info.Height - height) / 2,
      width,
      height);

   RasterImage image = codecs.Load(srcFileName, rc, 1, CodecsLoadByteOrder.Rgb, 2, 2);
   Debug.Assert(image.PageCount == 1);
   Debug.Assert(image.Width == rc.Width);
   Debug.Assert(image.Height == rc.Height);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 1);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.IO.Stream,System.Drawing.Rectangle,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads the specified rectangle from the specified image stream using the specified options.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the image data to load.</param>
      <param name="tile">A <see cref="T:System.Drawing.Rectangle" /> describing the tile/area of the image to load.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method loads a section of an image file (any format). The section begins is defined by <paramref name="tile" /> rectangle.</para>
        <para>
        </para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load the middle portion of the second page from a stream that contains a multipage file as 1 bits/pixel</para>
        <code lang="VB">
Public Sub LoadTileStream2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileStream2.bmp"

   Dim fs As FileStream = File.OpenRead(srcFileName)

   ' Get the image dimension
   Dim pageNumber As Integer = 2
   Dim info As CodecsImageInfo = codecs.GetInformation(fs, True, pageNumber)

   ' Load the middle portion of the page
   Dim width As Integer = info.Width \ 3
   Dim height As Integer = info.Height \ 3
   Dim rc As Rectangle = New Rectangle((info.Width - width) \ 2, (info.Height - height) \ 2, width, height)

   Dim image As RasterImage = codecs.Load(fs, rc, 1, CodecsLoadByteOrder.Rgb, 2, 2)
   fs.Close()

   Debug.Assert(image.PageCount = 1)
   Debug.Assert(image.Width = rc.Width)
   Debug.Assert(image.Height = rc.Height)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 1)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadTileStream2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_LoadTileStream2.bmp";

   FileStream fs = File.OpenRead(srcFileName);

   // Get the image dimension
   int pageNumber = 2;
   CodecsImageInfo info = codecs.GetInformation(fs, true, pageNumber);

   // Load the middle portion of the page
   int width = info.Width / 3;
   int height = info.Height / 3;
   Rectangle rc = new Rectangle(
      (info.Width - width) / 2,
      (info.Height - height) / 2,
      width,
      height);

   RasterImage image = codecs.Load(fs, rc, 1, CodecsLoadByteOrder.Rgb, 2, 2);
   fs.Close();

   Debug.Assert(image.PageCount == 1);
   Debug.Assert(image.Width == rc.Width);
   Debug.Assert(image.Height == rc.Height);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 1);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String,System.Int32,System.Int32,System.Int32,Leadtools.RasterSizeFlags,Leadtools.Codecs.CodecsLoadByteOrder)">
      <summary>
            Loads an image file to the desired width, height, and bits per pixel, resizing the image as it loads.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="width">New width of the image in pixels.</param>
      <param name="height">New height of the image in pixels.</param>
      <param name="flags">
        <para>Flag that indicates the type of resizing to use. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.None</term>
              <description>Normal resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.Resample</term>
              <description>Linear interpolation resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.Bicubic</term>
              <description>Bicubic interpolation resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.FavorBlack</term>
              <description>Not supported</description>
            </item>
          </list>
        </para>
      </param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <remarks>
        <para>This method resizes a file to the desired width, height, and bits per pixel as it loads. Note that the original file is
            not completely loaded into memory. This method is ideal for sampling large images (i.e. generating a thumbnail) without the
            memory overhead of loading the large file itself.</para>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load an image from file in a specified size.</para>
        <code lang="VB">
Public Sub LoadResize1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\LoadResize1.bmp"

   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

   ' We want to load the image as 320/200
   Dim width As Integer = 320
   Dim height As Integer = 200

   Dim image As RasterImage = codecs.Load(srcFileName, width, height, 0, RasterSizeFlags.Resample, CodecsLoadByteOrder.BgrOrGray)

   Debug.Assert(image.Width = width)
   Debug.Assert(image.Height = height)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadResize1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\LoadResize1.bmp";

   CodecsImageInfo info = codecs.GetInformation(srcFileName, true);

   // We want to load the image as 320/200
   int width = 320;
   int height = 200;

   RasterImage image = codecs.Load(
      srcFileName,
      width,
      height,
      0,
      RasterSizeFlags.Resample,
      CodecsLoadByteOrder.BgrOrGray);

   Debug.Assert(image.Width == width);
   Debug.Assert(image.Height == height);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.String,System.Int32,System.Int32,System.Int32,Leadtools.RasterSizeFlags,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads an image file to the desired width, height, and bits per pixel, resizing as it loads.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="width">New width of the image in pixels.</param>
      <param name="height">New height of the image in pixels.</param>
      <param name="flags">
        <para>Flag that indicates the type of resizing to use. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.None</term>
              <description>Normal resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.Resample</term>
              <description>Linear interpolation resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.Bicubic</term>
              <description>Bicubic interpolation resizing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterSizeFlags" />RasterSizeFlags.FavorBlack</term>
              <description>Not supported</description>
            </item>
          </list>
        </para>
      </param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>This method resizes a file as it loads, to the desired width, height, and bits per pixel. Note that the original file is
            not completely loaded into memory. This method is ideal for sampling large images (i.e. generating a thumbnail) without the
            memory overhead of loading the large file itself.</para>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load the last page of an image from file in a specified size.</para>
        <code lang="VB">
Public Sub LoadResize2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\LoadResize2.bmp"

   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

   ' Get the page number to load
   Dim pageNumber As Integer = info.TotalPages

   ' We want to load the image as 320/200
   Dim width As Integer = 320
   Dim height As Integer = 200

   ' Load the last page in the specified size
   Dim image As RasterImage = codecs.Load(srcFileName, width, height, 0, RasterSizeFlags.Resample, CodecsLoadByteOrder.BgrOrGray, pageNumber, pageNumber)

   Debug.Assert(image.Width = width)
   Debug.Assert(image.Height = height)

   ' Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadResize2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\LoadResize2.bmp";

   CodecsImageInfo info = codecs.GetInformation(srcFileName, true);

   // Get the page number to load
   int pageNumber = info.TotalPages;

   // We want to load the image as 320/200
   int width = 320;
   int height = 200;

   // Load the last page in the specified size
   RasterImage image = codecs.Load(
      srcFileName,
      width,
      height,
      0,
      RasterSizeFlags.Resample,
      CodecsLoadByteOrder.BgrOrGray,
      pageNumber,
      pageNumber);

   Debug.Assert(image.Width == width);
   Debug.Assert(image.Height == height);

   // Save this image back to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.Uri)">
      <summary>
            Loads the specified image file using default options.
            </summary>
      <param name="uri">The <see cref="T:System.Uri" /> containing the input image data.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <remarks>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the file.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
        <para>LEADTOOLS supports the following URI schemes:
            <list type="table"><listheader><term>Scheme</term><description>Description</description></listheader><item><term><see cref="F:System.Uri.UriSchemeFile" /></term><description>Specifies that the URI is a disk file in local machine or universal naming convention (UNC) path.</description></item><item><term><see cref="F:System.Uri.UriSchemeHttp" /></term><description>Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP).</description></item><item><term><see cref="F:System.Uri.UriSchemeHttps" /></term><description>Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS).</description></item><item><term><see cref="F:System.Uri.UriSchemeFtp" /></term><description>Specifies that the URI is accessed through the File Transfer Protocol (FTP).</description></item></list></para>
        <para>If <paramref name="uri" /> points to a resource in a <see cref="F:System.Uri.UriSchemeHttp" />, <see cref="F:System.Uri.UriSchemeHttps" /> or
            <see cref="F:System.Uri.UriSchemeFtp" />, then this <see cref="T:Leadtools.Codecs.RasterCodecs" /> will attempt to download image data in an iterative fashion by
            creating a temporary buffer. The size of this buffer can be determined and changed by setting up the
            <see cref="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize" /> prior to calling this method.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load an image from a uri</para>
        <code lang="VB">
Public Sub LoadUri1Example()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim uri As New Uri("http://www.leadtools.com/images/15-homepg-banner.jpg")
   Dim image As RasterImage = codecs.Load(uri)

   ' Show information about tha image
   Console.WriteLine("Size: {0} by {1} pixels", image.Width, image.Height)
   Console.WriteLine("Bits/Pixel: {0}", image.BitsPerPixel)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadUri1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   Uri uri = new Uri(@"http://www.leadtools.com/images/15-homepg-banner.jpg");
   RasterImage image = codecs.Load(uri);

   // Show information about tha image
   Console.WriteLine("Size: {0} by {1} pixels", image.Width, image.Height);
   Console.WriteLine("Bits/Pixel: {0}", image.BitsPerPixel);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Load(System.Uri,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Loads the specified image file using default options.
            </summary>
      <param name="uri">The <see cref="T:System.Uri" /> containing the input image data.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>value</term>
              <description>meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this
            will have no effect since palletized images have no order. The following are valid values.</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <keywords>Multipage File Formats</keywords>
      <remarks>
        <para>The file can be in any supported image file format and bits per pixel, whether compressed or uncompressed.</para>
        <para>This method will load all the pages in a multipage file. The resulting image will have the same bits/pixel and color
            order value of the image as it was stored in the file.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image.
            For these images, the load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsLoadOptions" /> class to set up other load options parameters before calling this
            method.</para>
        <para>Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>For supported formats, refer to
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</para>
        <para>LEADTOOLS loads all PDF files as Raster PDF uncompressed
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RasPdf</see>, regardless of the compression and color space used when
            saving the file.</para>
        <para>LEADTOOLS supports the following URI schemes:
            <list type="table"><listheader><term>Scheme</term><description>Description</description></listheader><item><term><see cref="F:System.Uri.UriSchemeFile" /></term><description>Specifies that the URI is a disk file in local machine or universal naming convention (UNC) path.</description></item><item><term><see cref="F:System.Uri.UriSchemeHttp" /></term><description>Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP).</description></item><item><term><see cref="F:System.Uri.UriSchemeHttps" /></term><description>Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS).</description></item><item><term><see cref="F:System.Uri.UriSchemeFtp" /></term><description>Specifies that the URI is accessed through the File Transfer Protocol (FTP).</description></item></list></para>
        <para>If <paramref name="uri" /> points to a resource in a <see cref="F:System.Uri.UriSchemeHttp" />, <see cref="F:System.Uri.UriSchemeHttps" /> or
            <see cref="F:System.Uri.UriSchemeFtp" />, then this <see cref="T:Leadtools.Codecs.RasterCodecs" /> will attempt to download image data in an iterative fashion by
            creating a temporary buffer. The size of this buffer can be determined and changed by setting up the
            <see cref="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize" /> prior to calling this method.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will load an image from a uri with different bits per pixel</para>
        <code lang="VB">
Public Sub LoadUri2Example()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   ' Load the image with 1 bits/pixel
   Dim uri As New Uri("http://www.leadtools.com/images/15-homepg-banner.jpg")
   Dim image As RasterImage = codecs.Load(uri, 1, CodecsLoadByteOrder.Rgb, 1, 1)

   ' Show information about tha image
   Console.WriteLine("Size: {0} by {1} pixels", image.Width, image.Height)
   Console.WriteLine("Bits/Pixel: {0}", image.BitsPerPixel)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void LoadUri2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // Load the image with 1 bits/pixel
   Uri uri = new Uri(@"http://www.leadtools.com/images/15-homepg-banner.jpg");
   RasterImage image = codecs.Load(uri, 1, CodecsLoadByteOrder.Rgb, 1, 1);

   // Show information about tha image
   Console.WriteLine("Size: {0} by {1} pixels", image.Width, image.Height);
   Console.WriteLine("Bits/Pixel: {0}", image.BitsPerPixel);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32)">
      <summary>
            Saves a <see cref="T:Leadtools.RasterImage" /> to a file in any of the supported compressed or uncompressed formats.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="fileName">A <see cref="T:System.String" /> containing the output file name.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <remarks>
        <para>If the output file format supports multipage and then all the pages in <paramref name="image" /> will be saved to the
            file.</para>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>. 
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>.</para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will load a 24 bits/pixel CMP image and save it as 1 bits/pixel TIF image.</para>
        <code lang="VB">
Public Sub SaveFile1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveFile1.tif"

   ' Load the source file (make sure to load as 24 bits/pixel)
   Dim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)
   Console.WriteLine("Loaded image has {0} bpp", image.BitsPerPixel)

   ' Save it as 1 bpp TIF
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1)
   image.Dispose()

   ' Check if the image was saved correctly
   Dim info As CodecsImageInfo = codecs.GetInformation(destFileName, False)
   Console.WriteLine("Saved image has {0} bpp", info.BitsPerPixel)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void SaveFile1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveFile1.tif";

   // Load the source file (make sure to load as 24 bits/pixel)
   RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
   Console.WriteLine("Loaded image has {0} bpp", image.BitsPerPixel);

   // Save it as 1 bpp TIF
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);
   image.Dispose();

   // Check if the image was saved correctly
   CodecsImageInfo info = codecs.GetInformation(destFileName, false);
   Console.WriteLine("Saved image has {0} bpp", info.BitsPerPixel);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.IO.Stream,Leadtools.RasterImageFormat,System.Int32)">
      <summary>
            Saves a <see cref="T:Leadtools.RasterImage" /> to a stream in any of the supported compressed or uncompressed formats.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="stream">A <see cref="T:System.IO.Stream" /> where the image data will be saved.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <remarks>
        <para>If the output file format supports multipage and then all the pages in <paramref name="image" /> will be saved to the
            file.</para>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>.
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>.</para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will load a 24 bits/pixel CMP image and save it to a stream as 1 bits/pixel TIF image.</para>
        <code lang="VB">
Public Sub SaveStream1Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream1.tif"

   ' Load the source file (make sure to load as 24 bits/pixel)
   Dim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)
   Console.WriteLine("Loaded image has {0} bpp", image.BitsPerPixel)

   ' Create a stream for the destination file
   Dim fs As FileStream = File.Create(destFileName)

   ' Save it as 1 bpp TIF
   codecs.Save(image, fs, RasterImageFormat.Tif, 1)
   fs.Close()

   image.Dispose()

   ' Check if the image was saved correctly
   Dim info As CodecsImageInfo = codecs.GetInformation(destFileName, False)
   Console.WriteLine("Saved image has {0} bpp", info.BitsPerPixel)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void SaveStream1Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream1.tif";

   // Load the source file (make sure to load as 24 bits/pixel)
   RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
   Console.WriteLine("Loaded image has {0} bpp", image.BitsPerPixel);

   // Create a stream for the destination file
   FileStream fs = File.Create(destFileName);

   // Save it as 1 bpp TIF
   codecs.Save(image, fs, RasterImageFormat.Tif, 1);
   fs.Close();

   image.Dispose();

   // Check if the image was saved correctly
   CodecsImageInfo info = codecs.GetInformation(destFileName, false);
   Console.WriteLine("Saved image has {0} bpp", info.BitsPerPixel);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">
      <summary>
            Saves one or more pages of a <see cref="T:Leadtools.RasterImage" /> to a file in any of the supported compressed or uncompressed formats.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="fileName">A <see cref="T:System.String" /> containing the output file name.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <param name="firstPage">1-based index of the first page in <paramref name="image" /> to save.</param>
      <param name="lastPage">1-based index of the last page in <paramref name="image" /> to save. Pass -1 to save from
            <paramref name="firstPage" /> to the last page in <paramref name="image" />.</param>
      <param name="firstSavePageNumber">1-based index of the first output page. If the output file already exists, then this
            parameter lets you control which pages to overwrite and/or where to append the new pages.</param>
      <param name="pageMode">
        <para>Determines how to handle the page when saving to multipage formats. This can be one of the following:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.  <paramref name="firstSavePageNumber" /> is not used.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Insert</see>
              </term>
              <description>Insert the new page(s) at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Replace</see>
              </term>
              <description>Replace the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Overwrite</see>
              </term>
              <description>Overwrite the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>.
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>.       /// </para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will create a multipage image and save it to a file before using the Save method to insert and replace pages directly in the file.</para>
        <code lang="VB">
Public Sub SaveFile2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveFile2.tif"

   ' Create a RasterImage with 4 pages containing text showing the page number
   Dim image As RasterImage = Nothing

   Dim f As Font = New Font("Arial", 36, FontStyle.Bold)
   Dim btmp As Bitmap = New Bitmap(320, 200)
   Dim rc As Rectangle = New Rectangle(0, 0, btmp.Width, btmp.Height)
   Dim sf As StringFormat = New StringFormat()
   sf.Alignment = StringAlignment.Center
   sf.LineAlignment = StringAlignment.Center

   Const pageCount As Integer = 4
   For i As Integer = 1 To pageCount
      ' Create a GDI+ bitmap with the text
      Dim text As String = "Page " &amp; i

      Dim g As Graphics = Graphics.FromImage(btmp)
      g.FillRectangle(Brushes.White, rc)
      g.DrawString(text, f, Brushes.Black, rc, sf)
      g.Dispose()

      Dim tempImage As RasterImage = New RasterImage(btmp)

      If image Is Nothing Then
         image = tempImage
      Else
         image.AddPage(tempImage)
      End If
   Next i

   sf.Dispose()
   btmp.Dispose()

   ' Save all the pages to the file
   ' The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite)
   image.Dispose()

   ' Load the 3rd page and insert it as the second
   ' The file should have 5 pages now: 1, 3, 2, 3, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 3, 3)
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 2, CodecsSavePageMode.Insert)
   image.Dispose()

   ' Load the last page, and insert it as the first
   ' The file should have 5 pages now: 4, 1, 3, 2, 3, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 5, 5)
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 1, CodecsSavePageMode.Insert)
   image.Dispose()

   ' Replace the 5th page with the 2nd
   ' The file should have 5 pages now: 4, 1, 3, 2, 1, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2)
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 5, CodecsSavePageMode.Replace)
   image.Dispose()

   ' Delete the 2nd and 6th pages
   ' The file should have 5 pages now: 4, 3, 2, 1
   codecs.DeletePage(destFileName, 2)
   ' Notice, -1 because we already deleted a page, so 6th page is not 5th
   codecs.DeletePage(destFileName, 6 - 1)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void SaveFile2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveFile2.tif";

   // Create a RasterImage with 4 pages containing text showing the page number
   RasterImage image = null;

   Font f = new Font("Arial", 36, FontStyle.Bold);
   Bitmap btmp = new Bitmap(320, 200);
   Rectangle rc = new Rectangle(0, 0, btmp.Width, btmp.Height);
   StringFormat sf = new StringFormat();
   sf.Alignment = StringAlignment.Center;
   sf.LineAlignment = StringAlignment.Center;

   const int pageCount = 4;
   for(int i = 1; i &lt;= pageCount; i++)
   {
      // Create a GDI+ bitmap with the text
      string text = "Page " + i;

      Graphics g = Graphics.FromImage(btmp);
      g.FillRectangle(Brushes.White, rc);
      g.DrawString(text, f, Brushes.Black, rc, sf);
      g.Dispose();

      RasterImage tempImage = new RasterImage(btmp);

      if(image == null)
         image = tempImage;
      else
         image.AddPage(tempImage);
   }

   sf.Dispose();
   btmp.Dispose();

   // Save all the pages to the file
   // The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite);
   image.Dispose();

   // Load the 3rd page and insert it as the second
   // The file should have 5 pages now: 1, 3, 2, 3, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 3, 3);
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 2, CodecsSavePageMode.Insert);
   image.Dispose();

   // Load the last page, and insert it as the first
   // The file should have 5 pages now: 4, 1, 3, 2, 3, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 5, 5);
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 1, CodecsSavePageMode.Insert);
   image.Dispose();

   // Replace the 5th page with the 2nd
   // The file should have 5 pages now: 4, 1, 3, 2, 1, 4
   image = codecs.Load(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2);
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, 1, 5, CodecsSavePageMode.Replace);
   image.Dispose();

   // Delete the 2nd and 6th pages
   // The file should have 5 pages now: 4, 3, 2, 1
   codecs.DeletePage(destFileName, 2);
   // Notice, -1 because we already deleted a page, so 6th page is not 5th
   codecs.DeletePage(destFileName, 6 - 1);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.IO.Stream,Leadtools.RasterImageFormat,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">
      <summary>
            Saves one or more pages of a <see cref="T:Leadtools.RasterImage" /> to a stream in any of the supported compressed or uncompressed formats.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="stream">A <see cref="T:System.IO.Stream" /> where the image data will be saved.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <param name="firstPage">1-based index of the first page in <paramref name="image" /> to save.</param>
      <param name="lastPage">1-based index of the last page in <paramref name="image" /> to save. Pass -1 to save from
            <paramref name="firstPage" /> to the last page in <paramref name="image" />.</param>
      <param name="firstSavePageNumber">1-based index of the first output page. If the output file already exists, then this
            parameter lets you control which pages to overwrite and/or where to append the new pages.</param>
      <param name="pageMode">
        <para>Determines how to handle the page when saving to multipage formats. This can be one of the following:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.  <paramref name="firstSavePageNumber" /> is not used.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Insert</see>
              </term>
              <description>Insert the new page(s) at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Replace</see>
              </term>
              <description>Replace the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Overwrite</see>
              </term>
              <description>Overwrite the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. 
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>.       /// For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>.</para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will create a multipage image and save it to a stream before using the Save method to insert and replace pages directly in the file.</para>
        <code lang="VB">
Public Sub SaveStream2Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream2.tif"

   ' Create a RasterImage with 4 pages containing text showing the page number
   Dim image As RasterImage = Nothing

   Dim f As Font = New Font("Arial", 36, FontStyle.Bold)
   Dim btmp As Bitmap = New Bitmap(320, 200)
   Dim rc As Rectangle = New Rectangle(0, 0, btmp.Width, btmp.Height)
   Dim sf As StringFormat = New StringFormat()
   sf.Alignment = StringAlignment.Center
   sf.LineAlignment = StringAlignment.Center

   Const pageCount As Integer = 4
   For i As Integer = 1 To pageCount
      ' Create a GDI+ bitmap with the text
      Dim text As String = "Page " &amp; i

      Dim g As Graphics = Graphics.FromImage(btmp)
      g.FillRectangle(Brushes.White, rc)
      g.DrawString(text, f, Brushes.Black, rc, sf)
      g.Dispose()

      Dim tempImage As RasterImage = New RasterImage(btmp)

      If image Is Nothing Then
         image = tempImage
      Else
         image.AddPage(tempImage)
      End If
   Next i

   sf.Dispose()
   btmp.Dispose()

   ' Save all the pages to the a stream
   Dim fs As FileStream = File.Create(destFileName)

   ' The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite)
   image.Dispose()

   ' Load the 3rd page and insert it as the second
   ' The file should have 5 pages now: 1, 3, 2, 3, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 3, 3)
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 2, CodecsSavePageMode.Insert)
   image.Dispose()

   ' Load the last page, and insert it as the first
   ' The file should have 5 pages now: 4, 1, 3, 2, 3, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 5, 5)
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 1, CodecsSavePageMode.Insert)
   image.Dispose()

   ' Replace the 5th page with the 2nd
   ' The file should have 5 pages now: 4, 1, 3, 2, 1, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2)
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 5, CodecsSavePageMode.Replace)
   image.Dispose()

   ' We will delete pages now from the file
   ' LEADTOOLS does not support deleting pages from
   ' a stream, so we have to close it now and use
   ' the file instead.
   fs.Close()

   ' Delete the 2nd and 6th pages
   ' The file should have 5 pages now: 4, 3, 2, 1
   codecs.DeletePage(destFileName, 2)
   ' Notice, -1 because we already deleted a page, so 6th page is not 5th
   codecs.DeletePage(destFileName, 6 - 1)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void SaveStream2Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream2.tif";

   // Create a RasterImage with 4 pages containing text showing the page number
   RasterImage image = null;

   Font f = new Font("Arial", 36, FontStyle.Bold);
   Bitmap btmp = new Bitmap(320, 200);
   Rectangle rc = new Rectangle(0, 0, btmp.Width, btmp.Height);
   StringFormat sf = new StringFormat();
   sf.Alignment = StringAlignment.Center;
   sf.LineAlignment = StringAlignment.Center;

   const int pageCount = 4;
   for(int i = 1; i &lt;= pageCount; i++)
   {
      // Create a GDI+ bitmap with the text
      string text = "Page " + i;

      Graphics g = Graphics.FromImage(btmp);
      g.FillRectangle(Brushes.White, rc);
      g.DrawString(text, f, Brushes.Black, rc, sf);
      g.Dispose();

      RasterImage tempImage = new RasterImage(btmp);

      if(image == null)
         image = tempImage;
      else
         image.AddPage(tempImage);
   }

   sf.Dispose();
   btmp.Dispose();

   // Save all the pages to the a stream
   FileStream fs = File.Create(destFileName);

   // The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite);
   image.Dispose();

   // Load the 3rd page and insert it as the second
   // The file should have 5 pages now: 1, 3, 2, 3, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 3, 3);
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 2, CodecsSavePageMode.Insert);
   image.Dispose();

   // Load the last page, and insert it as the first
   // The file should have 5 pages now: 4, 1, 3, 2, 3, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 5, 5);
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 1, CodecsSavePageMode.Insert);
   image.Dispose();

   // Replace the 5th page with the 2nd
   // The file should have 5 pages now: 4, 1, 3, 2, 1, 4
   image = codecs.Load(fs, 0, CodecsLoadByteOrder.BgrOrGray, 2, 2);
   codecs.Save(image, fs, RasterImageFormat.Tif, 1, 1, 1, 5, CodecsSavePageMode.Replace);
   image.Dispose();

   // We will delete pages now from the file
   // LEADTOOLS does not support deleting pages from
   // a stream, so we have to close it now and use
   // the file instead.
   fs.Close();

   // Delete the 2nd and 6th pages
   // The file should have 5 pages now: 4, 3, 2, 1
   codecs.DeletePage(destFileName, 2);
   // Notice, -1 because we already deleted a page, so 6th page is not 5th
   codecs.DeletePage(destFileName, 6 - 1);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.IO.Stream,System.Int64,Leadtools.RasterImageFormat,System.Int32)">
      <summary>
            Saves the specified image to a stream using an offset within to begin saving.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="stream">A <see cref="T:System.IO.Stream" /> where the image data will be saved.</param>
      <param name="offset">The offset within the specified stream to embed the saved image file. For example, if you specify 5,
            then 5 bytes of other data will precede the embedded file.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <returns>The size of the embedded image file in bytes.</returns>
      <remarks>
        <para>You can use this method to embed an image file in another file.</para>
        <para>If the output file format supports multipage and then all the pages in <paramref name="image" /> will be saved to the
            file.</para>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. 
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>. 
            For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>.</para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will save an image to a stream before loading it back.</para>
        <code lang="VB">
Public Sub SaveStream3Example()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream3.bin"

   ' Load the source image
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Create a memory stream
   Dim ms As MemoryStream = New MemoryStream()

   ' Save this image to the stream after the header
   Console.WriteLine("Saving the image")
   Dim position As Long = codecs.Save(image, ms, 0, RasterImageFormat.Cmp, 24)
   image.Dispose()

   Console.WriteLine("{0} bytes saved to the stream")

   ' Save the stream to a file
   Using fs As FileStream = File.Create(destFileName)
      ms.WriteTo(fs)
   End Using

   ms.Close()

   ' Make sure the saved file works

   ' Save the image into disk
   Console.WriteLine("Loading the file back")
   image = codecs.Load(destFileName)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void SaveStream3Example()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveStream3.bin";

   // Load the source image
   RasterImage image = codecs.Load(srcFileName);

   // Create a memory stream
   MemoryStream ms = new MemoryStream();

   // Save this image to the stream after the header
   Console.WriteLine("Saving the image");
   long position = codecs.Save(image, ms, 0, RasterImageFormat.Cmp, 24);
   image.Dispose();

   Console.WriteLine("{0} bytes saved to the stream");

   // Save the stream to a file
   using(FileStream fs = File.Create(destFileName))
      ms.WriteTo(fs);

   ms.Close();

   // Make sure the saved file works

   // Save the image into disk
   Console.WriteLine("Loading the file back");
   image = codecs.Load(destFileName);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.IO.Stream,System.Int64,Leadtools.RasterImageFormat,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">
      <summary>
            Saves the specified image to a stream using an offset within to begin saving.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that holds the image data.</param>
      <param name="stream">A <see cref="T:System.IO.Stream" /> where the image data will be saved.</param>
      <param name="offset">The offset within the specified stream to embed the saved image file. For example, if you specify 5,
            then 5 bytes of other data will precede the embedded file.</param>
      <param name="format">The output file format. For valid values,
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. Note that not all bits per pixel are
            available to all file formats.  For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>. If
            <paramref name="bitsPerPixel" /> is 0, the image will be stored using the closet bits/pixel value supported by that format.
            For example, if a file format supports 1, 4, and 24 bits/pixel, and
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 5, the file will be stored as 24 bit. Likewise, if
            <see cref="P:Leadtools.RasterImage.BitsPerPixel">RasterImage.BitsPerPixel</see> is 2, the file will be stored as 4 bit.</param>
      <param name="firstPage">1-based index of the first page in <paramref name="image" /> to save.</param>
      <param name="lastPage">1-based index of the last page in <paramref name="image" /> to save. Pass -1 to save from
            <paramref name="firstPage" /> to the last page in <paramref name="image" />.</param>
      <param name="firstSavePageNumber">1-based index of the first output page. If the output file already exists, then this
            parameter lets you control which pages to overwrite and/or where to append the new pages.</param>
      <param name="pageMode">
        <para>Determines how to handle the page when saving to multipage formats. This can be one of the following:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.  <paramref name="firstSavePageNumber" /> is not used.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Insert</see>
              </term>
              <description>Insert the new page(s) at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Replace</see>
              </term>
              <description>Replace the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Overwrite</see>
              </term>
              <description>Overwrite the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The size of the embedded image file in bytes.</returns>
      <remarks>
        <para>You can use this method to embed an image file in another file.</para>
        <para>If the output file format supports multipage and then all the pages in <paramref name="image" /> will be saved to the
            file.</para>
        <para>If the image is 8 bits per pixel or greater, use the LEAD CMP format or one of the JPEG (JTIF or JFIF) formats to
            save disk space.</para>
        <para>If the image is 1-bit per pixel, use the LEAD 1-bit format or a CCITT Group 3 or 4 format to save disk space.</para>
        <para>If the image has a region, the region stored in the image will be saved, if the image is saved as one of the TIFF
            file formats. 
            Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Toolkit</see>, <see cref="T:Leadtools.Topics.RasterProDocMed">Document Imaging Suite</see>, 
            <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Toolkit</see>, or <see cref="T:Leadtools.Topics.RasterProDocMed">Medical Imaging Suite</see>. 
            For more information, refer to <see cref="T:Leadtools.Topics.SavingARegion">Saving A Region</see>.</para>
        <para>Only TIFF and DICOM file formats are capable of saving images that have been window-leveled. Images can be
            window-leveled by calling <see cref="M:Leadtools.RasterImage.WindowLevel(System.Int32,System.Int32,Leadtools.RasterColor[],Leadtools.RasterWindowLevelMode)">RasterImage.WindowLevel</see> and specifying
            <see cref="T:Leadtools.RasterWindowLevelMode">RasterWindowLevelMode.PaintAndProcessing</see>, by using
            the <see cref="T:Leadtools.ImageProcessing.Core.WindowLevelCommand" /> or by loading an image from a file format that supports Window Leveling. If a
            window-leveled image is saved as any other file format, the image data will be converted before being saved. For more 
            information, refer to <see cref="T:Leadtools.Topics.SavingWindowLeveledBitmaps">Saving Window-Leveled Images</see>.</para>
        <para>Use the <see cref="T:Leadtools.Codecs.CodecsSaveOptions" /> class to set up other save options parameters before calling this
            method.</para>
        <para>This method supports signed data images, but only DICOM and TIFF formats support signed data. This method will throw
            an exception if you attempt to save a signed image to a format other than DICOM or TIFF.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.IO.Stream,System.Int64,Leadtools.RasterImageFormat,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SaveStamp(Leadtools.RasterImage,System.String)">
      <summary>
            Saves a stamp in an existing file with default options.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that contain the thumbnail (stamp) image.</param>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of an existing image file.</param>
      <remarks>
        <para>The stamp will be written to last page in the file. If that page already has a stamp, it will be overwritten; If the
            file to which the stamp is being written does not exist, an exception will occur.</para>
        <para>This method works for regular JPEG files and Exif JPEG files. For regular JPEG files, the stamp saved is always
            uncompressed and can be 8 or 24 bits per pixel. The stamp can be any width and height, but the stamp data and stamp header
            must completely fit in an APP0 marker. Therefore, the size must be less than 64k bytes (0xFFFF).</para>
        <para>For Exif JPEG files, the stamps can be uncompressed or JPEG compressed and must be 24 bits per pixel. Exif JPEG
            stamps are supposed to be 160 x 120. However, LEADTOOLS can save and read Exif JPEG stamps of other dimensions. The stamp,
            along with other information such as the TIFF_HEADER, 0th IFD, 1st IFD, etc. must completely fit in an APP1 marker.
            Therefore, the size must be less than 64k bytes (0xFFFF).</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.SaveStamp(Leadtools.RasterImage,System.String,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SaveStamp(Leadtools.RasterImage,System.String,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">
      <summary>
            Saves a stamp in an existing file with specific options.
            </summary>
      <param name="image">The <see cref="T:Leadtools.RasterImage" /> object that contain the thumbnail (stamp) image.</param>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of an existing image file.</param>
      <param name="firstPage">1-based index of the first page in <paramref name="image" /> to save.</param>
      <param name="lastPage">1-based index of the last page in <paramref name="image" /> to save. Pass -1 to save from
            <paramref name="firstPage" /> to the last page in <paramref name="image" />.</param>
      <param name="firstSavePageNumber">1-based index of the first output page. If the output file already exists, then this
            parameter lets you control which pages to overwrite and/or where to append the new pages.</param>
      <param name="pageMode">
        <para>Determines how to handle the page when saving to multipage formats. This can be one of the following:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.  <paramref name="firstSavePageNumber" /> is not used.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Insert</see>
              </term>
              <description>Insert the new page(s) at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Replace</see>
              </term>
              <description>Replace the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Overwrite</see>
              </term>
              <description>Overwrite the page(s) starting at the index specified by <paramref name="firstSavePageNumber" />.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Append</see>
              </term>
              <description>Append the new page(s) to the end of the file. If the file does not exist, this option will create
            the file and add the pages to it.</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>The stamp will be written to last page in the file. If that page already has a stamp, it will be overwritten; If the
            file to which the stamp is being written does not exist, an exception will occur.</para>
        <para>This method works for regular JPEG files and Exif JPEG files. For regular JPEG files, the stamp saved is always
            uncompressed and can be 8 or 24 bits per pixel. The stamp can be any width and height, but the stamp data and stamp header
            must completely fit in an APP0 marker. Therefore, the size must be less than 64k bytes (0xFFFF).</para>
        <para>For Exif JPEG files, the stamps can be uncompressed or JPEG compressed and must be 24 bits per pixel. Exif JPEG
            stamps are supposed to be 160 x 120. However, LEADTOOLS can save and read Exif JPEG stamps of other dimensions. The stamp,
            along with other information such as the TIFF_HEADER, 0th IFD, 1st IFD, etc. must completely fit in an APP1 marker.
            Therefore, the size must be less than 64k bytes (0xFFFF).</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <example>
        <para>This example will add a stamp to an existing file before reading it back</para>
        <code lang="VB">
Public Sub StampExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_WithCustomStamp.cmp"
   Dim stampFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Stamp.bmp"

   ' Load the source file name
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Save as the destination image
   codecs.Save(image, destFileName, RasterImageFormat.Cmp, 24)

   ' Resize the image to fit into 128 by 128 pixels keeping the aspect ratio
   Dim rc As Rectangle = New Rectangle(0, 0, 128, 128)
   rc = RasterImage.CalculatePaintModeRectangle(image.ImageWidth, image.ImageHeight, rc, RasterPaintSizeMode.FitAlways, RasterPaintAlignMode.Near, RasterPaintAlignMode.Near)

   Dim command As SizeCommand = New SizeCommand()
   command.Width = rc.Width
   command.Height = rc.Height
   command.Flags = RasterSizeFlags.None
   command.Run(image)

   ' Add the word "Stamp" on the image at the middle
   Dim message As String = "Stamp"

   Dim container As RasterImageGdiPlusGraphicsContainer = image.CreateGdiPlusGraphics()
   Dim sf As StringFormat = New StringFormat()
   sf.Alignment = StringAlignment.Center
   sf.LineAlignment = StringAlignment.Center
   Dim f As Font = New Font("Arial", 20, FontStyle.Bold)
   container.Graphics.DrawString(message, f, Brushes.Yellow, rc, sf)
   sf.Dispose()
   f.Dispose()
   container.Dispose()

   ' Now set this image as the stamp for this file
   codecs.SaveStamp(image, destFileName, 1, 1, 1, CodecsSavePageMode.Overwrite)
   image.Dispose()

   ' Load the stamp from the file and save it into another file
   image = codecs.ReadStamp(destFileName, 1)
   codecs.Save(image, stampFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void StampExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_WithCustomStamp.cmp";
   string stampFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Stamp.bmp";

   // Load the source file name
   RasterImage image = codecs.Load(srcFileName);

   // Save as the destination image
   codecs.Save(image, destFileName, RasterImageFormat.Cmp, 24);

   // Resize the image to fit into 128 by 128 pixels keeping the aspect ratio
   Rectangle rc = new Rectangle(0, 0, 128, 128);
   rc = RasterImage.CalculatePaintModeRectangle(
      image.ImageWidth,
      image.ImageHeight,
      rc,
      RasterPaintSizeMode.FitAlways,
      RasterPaintAlignMode.Near,
      RasterPaintAlignMode.Near);

   SizeCommand command = new SizeCommand();
   command.Width = rc.Width;
   command.Height = rc.Height;
   command.Flags = RasterSizeFlags.None;
   command.Run(image);

   // Add the word "Stamp" on the image at the middle
   string message = "Stamp";

   RasterImageGdiPlusGraphicsContainer container = image.CreateGdiPlusGraphics();
   StringFormat sf = new StringFormat();
   sf.Alignment = StringAlignment.Center;
   sf.LineAlignment = StringAlignment.Center;
   Font f = new Font("Arial", 20, FontStyle.Bold);
   container.Graphics.DrawString(message, f, Brushes.Yellow, rc, sf);
   sf.Dispose();
   f.Dispose();
   container.Dispose();

   // Now set this image as the stamp for this file
   codecs.SaveStamp(image, destFileName, 1, 1, 1, CodecsSavePageMode.Overwrite);
   image.Dispose();

   // Load the stamp from the file and save it into another file
   image = codecs.ReadStamp(destFileName, 1);
   codecs.Save(image, stampFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)">
      <summary>
            Initializes a file-load process in which you control the input stream.
            </summary>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>The desired color order. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>You must call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" /> method to supply buffered data, and you must call <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> when
            the loading is complete.</para>
        <para>This file-load process is useful when receiving transmitted images, such as those on the Internet. It works the same
            way as the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method, except that your code supplies the image data. The file-load process works as
            follows:</para>
        <para>
          <list type="number">
            <item>
              <description>
            You call the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" /> method to initialize the file-load process.</description>
            </item>
            <item>
              <description>
            You create a buffer, and each time you fill it with information, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" />
            method, which sends the data to the file-load process just as if the data were being read from a file on disk.
            </description>
            </item>
            <item>
              <description>
                <para>Whenever it has enough data to do so, the file-load process behaves the same as in the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" />
            method. It allocates and begins loading the image. It calls your <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage" /> event handler, if one is specified,
            whenever it has enough data in its input buffer.</para>
                <para>The file-load process updates information in the <see cref="T:Leadtools.RasterImage" /> when it has received enough
            information to do so.  The file-load process will make the first call to your event handler whenever this information is
            available.</para>
              </description>
            </item>
            <item>
              <description>
            At any time after calling <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />, you can call <see cref="M:Leadtools.Codecs.RasterCodecs.CancelFeedLoad" /> to gracefully abort the
            feed load operation.  This allows you to end the feed load process without throwing an exception.
            </description>
            </item>
            <item>
              <description>
            To end the file-load process, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> method, which cleans up the process, and returns
            the loaded <see cref="T:Leadtools.RasterImage" />, if successful. If you call this method before supplying the complete file, it will
            successfully clean up the process, but will throw an exception. You should catch the exception if the load is canceled
            purposely.</description>
            </item>
          </list>
        </para>
        <para>
          <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see> is only valid for 12 and 16-bit grayscale images.
            Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>This method cannot be used in combination with <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will use feed load to load an image from a url</para>
        <code lang="VB">
Public Sub FeedLoadExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim url As String = "http://www.leadtools.com/images/web-header.jpg"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\FeedLoad.bmp"

   ' Create a WebRequest for the URL
   Dim request As WebRequest = WebRequest.Create(url)
   request.Proxy.Credentials = CredentialCache.DefaultCredentials

   ' reduce the timeout to 20sec
   request.Timeout = 20000

   Dim response As WebResponse = request.GetResponse()
   Try
      Dim strm As Stream = response.GetResponseStream()

      ' Read chunks from the stream and feed load to the image
      codecs.StartFeedLoad(0, CodecsLoadByteOrder.BgrOrGray)

      Const bufferSize As Integer = 1024
      Dim buffer(bufferSize - 1) As Byte

      Dim read As Integer

      Do
         Application.DoEvents()

         read = strm.Read(buffer, 0, bufferSize)
         Console.WriteLine("Downloading {0} bytes", read)
         If read &gt; 0 Then
            codecs.FeedLoad(buffer, 0, read)
         End If
      Loop While read &gt; 0
   Finally
      response.Close()
   End Try

   Dim image As RasterImage = codecs.StopFeedLoad()

   ' Save the image to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void FeedLoadExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string url = @"http://www.leadtools.com/images/web-header.jpg";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\FeedLoad.bmp";

   // Create a WebRequest for the URL
   WebRequest request = WebRequest.Create(url);
   request.Proxy.Credentials = CredentialCache.DefaultCredentials;

   // reduce the timeout to 20sec
   request.Timeout = 20000;

   WebResponse response = request.GetResponse();
   try
   {
      Stream strm = response.GetResponseStream();

      // Read chunks from the stream and feed load to the image
      codecs.StartFeedLoad(0, CodecsLoadByteOrder.BgrOrGray);

      const int bufferSize = 1024;
      byte[] buffer = new byte[bufferSize];

      int read;

      do
      {
         Application.DoEvents();

         read = strm.Read(buffer, 0, bufferSize);
         Console.WriteLine("Downloading {0} bytes", read);
         if(read &gt; 0)
            codecs.FeedLoad(buffer, 0, read);
      }
      while(read &gt; 0);
   }
   finally
   {
      response.Close();
   }

   RasterImage image = codecs.StopFeedLoad();

   // Save the image to disk
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">
      <summary>
            Initializes a file-load process in which you control the input stream with specific number of pages.
            </summary>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">
        <para>The desired color order. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Rgb</see>
              </term>
              <description>Red, green, and blue color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Bgr</see>
              </term>
              <description>Blue, green, and red color order in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see>
              </term>
              <description>12 or 16-bit grayscale image. 12 and 16-bit grayscale images are only supported in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.RgbOrGray</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGray</see>
              </term>
              <description>Load the image as blue, green, red OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Romm</see>
              </term>
              <description>ROMM order. ROMM only supports 24 and 48-bit images</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.BgrOrGrayOrRomm</see>
              </term>
              <description>Load the image as red, green, blue OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale
            images are supported in the <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions only.
            ROMM only supports 24 and 48-bit color images.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="firstPage">1-based index of the first page to load.</param>
      <param name="lastPage">The 1-based index of the last page to load.  Must be greater than or equal to <paramref name="firstPage" />.
            You can pass -1 to load from <paramref name="firstPage" /> to the last page in the file.</param>
      <remarks>
        <para>You must call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" /> method to supply buffered data, and you must call <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> when
            the loading is complete.</para>
        <para>This file-load process is useful when receiving transmitted images, such as those on the Internet. It works the same
            way as the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method, except that your code supplies the image data. The file-load process works as
            follows:</para>
        <para>
          <list type="number">
            <item>
              <description>
            You call the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" /> method to initialize the file-load process.</description>
            </item>
            <item>
              <description>
            You create a buffer, and each time you fill it with information, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" />
            method, which sends the data to the file-load process just as if the data were being read from a file on disk.
            </description>
            </item>
            <item>
              <description>
                <para>Whenever it has enough data to do so, the file-load process behaves the same as in the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" />
            method. It allocates and begins loading the image. It calls your <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage" /> event handler, if one is specified,
            whenever it has enough data in its input buffer.</para>
                <para>The file-load process updates information in the <see cref="T:Leadtools.RasterImage" /> when it has received enough
            information to do so.  The file-load process will make the first call to your event handler whenever this information is
            available.</para>
              </description>
            </item>
            <item>
              <description>
            At any time after calling <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />, you can call <see cref="M:Leadtools.Codecs.RasterCodecs.CancelFeedLoad" /> to gracefully abort the
            feed load operation.  This allows you to end the feed load process without throwing an exception.
            </description>
            </item>
            <item>
              <description>
            To end the file-load process, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> method, which cleans up the process, and returns
            the loaded <see cref="T:Leadtools.RasterImage" />, if successful. If you call this method before supplying the complete file, it will
            successfully clean up the process, but will throw an exception. You should catch the exception if the load is canceled
            purposely.</description>
            </item>
            <item>
              <description>You can also call the <see cref="P:Leadtools.Codecs.RasterCodecs.IsFeedLoadDone" /> property to check if the framework has enough data to 
            load the pages specified in <paramref name="firstPage" /> and <paramref name="lastPage" />.</description>
            </item>
          </list>
        </para>
        <para>
          <see cref="T:Leadtools.Codecs.CodecsLoadByteOrder">CodecsLoadByteOrder.Gray</see> is only valid for 12 and 16-bit grayscale images.
            Support for 12 and 16-bit grayscale images is only available in the
            <see cref="T:Leadtools.Topics.DocumentMedicalEditionSupportAndLicensingRequirements">Document/Medical Imaging</see> editions.</para>
        <para>This method cannot be used in combination with <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example will use feed load to load a few pages of a multipage file</para>
        <code lang="VB">
Public Sub FeedLoadMultiExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\FeedLoadMulti.tif"

   ' Load pages 2 through 5 from the file by reading chunks from the stream
   codecs.StartFeedLoad(0, CodecsLoadByteOrder.BgrOrGray, 2, 5)

   Dim fs As FileStream = File.OpenRead(srcFileName)
   Try
      Const bufferSize As Integer = 1024
      Dim buffer(bufferSize - 1) As Byte

      Dim read As Integer

      Do
         Application.DoEvents()

         read = fs.Read(buffer, 0, bufferSize)
         Console.WriteLine("Feeding {0} bytes", read)
         If (read &gt; 0) Then
            codecs.FeedLoad(buffer, 0, read)
         End If
      Loop While read &gt; 0 AndAlso Not codecs.IsFeedLoadDone
   Finally
      fs.Close()
   End Try

   Dim image As RasterImage = codecs.StopFeedLoad()
   Console.WriteLine("{0} pages loaded", image.PageCount)

   ' Save the image to disk
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, -1, 1, CodecsSavePageMode.Overwrite)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void FeedLoadMultiExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\FeedLoadMulti.tif";

   // Load pages 2 through 5 from the file by reading chunks from the stream
   codecs.StartFeedLoad(0, CodecsLoadByteOrder.BgrOrGray, 2, 5);

   using(FileStream fs = File.OpenRead(srcFileName))
   {
      const int bufferSize = 1024;
      byte[] buffer = new byte[bufferSize];

      int read;

      do
      {
         Application.DoEvents();

         read = fs.Read(buffer, 0, bufferSize);
         Console.WriteLine("Feeding {0} bytes", read);
         if(read &gt; 0)
            codecs.FeedLoad(buffer, 0, read);
      }
      while(read &gt; 0 &amp;&amp; !codecs.IsFeedLoadDone);
   }

   RasterImage image = codecs.StopFeedLoad();
   Console.WriteLine("{0} pages loaded", image.PageCount);

   // Save the image to disk
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1, 1, -1, 1, CodecsSavePageMode.Overwrite);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Supplies image data to the file-load process from a buffer that you provide.
            </summary>
      <param name="data">The image file data.</param>
      <param name="offset">Offset from the beginning of the buffer to where the image data starts.</param>
      <param name="length">Total size (in bytes) of the image data.</param>
      <remarks>
        <para>Use this method with the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> methods.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image. For these images, the
            load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.IntPtr,System.Int32)">
      <summary>
            Supplies unmanaged memory image data to the file-load process from a buffer that you provide.
            </summary>
      <param name="data">The image file unmanaged memory data.</param>
      <param name="length">Total size (in bytes) of the image data.</param>
      <remarks>
        <para>Use this method with the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad" /> methods.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</para>
        <para>LEADTOOLS will attempt to load corrupted files, so you can see at least a portion of the image. For these images, the
            load methods succeed, but <see cref="P:Leadtools.Codecs.RasterCodecs.LoadStatus" /> will return an error code.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopFeedLoad">
      <summary>
            Ends a file-load process in which you control the input stream.
            </summary>
      <returns>The image loaded by the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" /> process.</returns>
      <remarks>
        <para>This cleans up all the variables and buffers allocated by the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" />
            methods and resets all internal variables to their default settings.</para>
        <para>You must call this method to complete a file load that was started with <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</para>
        <para>If you call this method before supplying the complete file, it will successfully clean up the process, but will throw
            a file-read exception. You should trap the error if the load is canceled purposely.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.CancelFeedLoad">
      <summary>
            This method can be used to purposefully cancel the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" /> process.
            </summary>
      <remarks>
        <para>This method can be used to gracefully cancel a feed load operation.  For example, during feed load progressing, the
            user might click a cancel button to abort the operation.  You can then call this method to end the feed load process
            without throwing an exception.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)">
      <summary>
            Initializes a file information process in which you control the input stream.
            </summary>
      <param name="totalPages">true to query the file for total number of pages, false otherwise.</param>
      <param name="pageNumber">1-based index to the page number to query.</param>
      <remarks>
        <para>You must call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" /> method to supply buffered data, and you must call
            <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> when the process is complete.</para>
        <para>This file information process is useful when receiving transmitted images, such as those on the Internet. It works the same
            way as the <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" /> method, except that your code supplies the image data. The file information process works as
            follows:</para>
        <para>
          <list type="number">
            <item>
              <description>
            You call the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" /> method to initialize the file information process.</description>
            </item>
            <item>
              <description>
                <para>You create a buffer, and each time you fill it with information, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" />
            method, which sends the data to the file information process just as if the data were being read from a file on disk.</para>
                <para>If the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" /> returns true, this means the frameworks does not have enough data to get the
            information required; you must read more data and call the <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" /> again. When <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" />
            returns false, the framework has gathered enough data and you can break out of the loop.</para>
              </description>
            </item>
            <item>
              <description>
            At any time after calling <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />, you can call <see cref="M:Leadtools.Codecs.RasterCodecs.CancelFeedGetInformation" /> to gracefully
            abort the feed operation.  This allows you to end the feed process without throwing an exception.
            </description>
            </item>
            <item>
              <description>
            To end the file information process, you call the <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> method, which cleans up the process,
            and returns an instance of the <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> class if successful. If you call this method before enough image data
            is passed to gather the information, it will successfully clean up the process, but will throw an exception. You should catch the
            exception if the process is canceled purposely.
            </description>
            </item>
          </list>
        </para>
        <para>This method cannot be used in combination with <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" />.</para>
        <para>Specifying true for <paramref name="totalPages" /> can cause the process to be slow for files with large number of
            pages.</para>
      </remarks>
      <example>
        <para>This example will use feed information to get information of an image from a url</para>
        <code lang="VB">
Public Sub FeedGetInformationExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim url As String = "http://www.leadtools.com/images/web-header.jpg"

   ' Create a WebRequest for the URL
   Dim request As WebRequest = WebRequest.Create(url)
   request.Proxy.Credentials = CredentialCache.DefaultCredentials

   ' reduce the timeout to 20 sec
   request.Timeout = 20000

   Dim response As WebResponse = request.GetResponse()

   Try
      Dim strm As Stream = response.GetResponseStream()

      ' Read chunks from the stream and feed load to the image
      codecs.StartFeedGetInformation(True, 1)

      Const bufferSize As Integer = 1024
      Dim buffer(bufferSize - 1) As Byte

      Dim more As Boolean

      Do
         Application.DoEvents()

         Dim read As Integer = strm.Read(buffer, 0, bufferSize)
         Console.WriteLine("Downloading {0} bytes", read)
         If (read &gt; 0) Then
            more = codecs.FeedGetInformation(buffer, 0, read)
         Else
            ' no more image data in the stream
            more = False
         End If
      Loop While more
   Finally
      response.Close()
   End Try

   Dim info As CodecsImageInfo = codecs.StopFeedGetInformation()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()

   ' Show the information
   MessageBox.Show(info.ToString())
End Sub</code>
        <code lang="CS">
public void FeedGetInformationExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string url = @"http://www.leadtools.com/images/web-header.jpg";

   // Create a WebRequest for the URL
   WebRequest request = WebRequest.Create(url);
   request.Proxy.Credentials = CredentialCache.DefaultCredentials;

   // reduce the timeout to 20 sec
   request.Timeout = 20000;

   WebResponse response = request.GetResponse();

   try
   {
      Stream strm = response.GetResponseStream();

      // Read chunks from the stream and feed load to the image
      codecs.StartFeedGetInformation(true, 1);

      const int bufferSize = 1024;
      byte[] buffer = new byte[bufferSize];

      bool more;

      do
      {
         Application.DoEvents();

         int read = strm.Read(buffer, 0, bufferSize);
         Console.WriteLine("Downloading {0} bytes", read);
         if(read &gt; 0)
            more = codecs.FeedGetInformation(buffer, 0, read);
         else
         {
            // no more image data in the stream
            more = false;
         }
      }
      while(more);
   }
   finally
   {
      response.Close();
   }

   CodecsImageInfo info = codecs.StopFeedGetInformation();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();

   // Show the information
   MessageBox.Show(info.ToString());
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Supplies image data to the file information process from a buffer that you provide.
            </summary>
      <param name="data">The image file data.</param>
      <param name="offset">Offset from the beginning of the buffer to where the image data starts.</param>
      <param name="length">Total size (in bytes) of the image data.</param>
      <returns>true if the get information process requires more data, false otherwise. When this method returns false,
            you can break out of the loop and call <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> to obtain the <see cref="T:Leadtools.Codecs.CodecsImageInfo" />
            object containing the information of the image file.</returns>
      <remarks>
        <para>Use this method with the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> methods.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.IntPtr,System.Int32)">
      <summary>
            Supplies unmanaged memory image data to the file information process from a buffer that you provide.
            </summary>
      <param name="data">The image file unmanaged memory data.</param>
      <param name="length">Total size (in bytes) of the image data.</param>
      <returns>true if the get information process requires more data, false otherwise. When this method returns false,
            you can break out of the loop and call <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> to obtain the <see cref="T:Leadtools.Codecs.CodecsImageInfo" />
            object containing the information of the image file.</returns>
      <remarks>
        <para>Use this method with the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation" /> methods.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopFeedGetInformation">
      <summary>
            Ends a file information process in which you control the input stream.
            </summary>
      <returns>An <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object containing information about the image data provided by <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" />.</returns>
      <remarks>
        <para>This cleans up all the variables and buffers allocated by the <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" /> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.FeedGetInformation(System.Byte[],System.Int32,System.Int32)" /> methods and resets all internal variables to their default settings.</para>
        <para>You must call this method to complete the file information that was started with <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</para>
        <para>If you call this method before enough data is supplied to obtain the image information, it will successfully clean up the process, but will
            throw an exception. You should trap the error if the process is canceled purposely.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.CancelFeedGetInformation">
      <summary>
            This method can be used to purposefully cancel the feed information process.
            </summary>
      <remarks>
        <para>This method can be used to gracefully cancel a feed information operation.  For example, during feed information progressing,
            the user might click a cancel button to abort the operation.  You can then call this method to end the feed information process
            without throwing an exception.</para>
        <para>For a description of how the methods relate to each other, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedGetInformation(System.Boolean,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.DeletePage(System.String,System.Int32)">
      <summary>
            Deletes the specified page from a multipage file, if the format supports delete operations.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the file from which to delete the page.</param>
      <param name="page">1-based index of the page to delete. Use -1 to delete the last page. Use 1 to delete the first page.</param>
      <remarks>
            The following file formats support delete operations:
            <list><item><description>TIFF (most TIFF formats, including JTIF, but excluding EXIF)</description></item><item><description>PCX</description></item><item><description>Winfax</description></item></list></remarks>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingImages">Loading and Saving Images</seealso>
      <seealso cref="T:Leadtools.Topics.LoadingAndSavingLargeTIFFFiles">Loading and Saving Large Tiff Files</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadLoadResolutions(System.String)">
      <summary>
            Examines a FlashPix, PhotoCD, or JBIG file to determine which resolutions it contains.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the file to query.</param>
      <returns>An of <see cref="T:System.Drawing.Size" /> structures containing the available resolutions.</returns>
      <remarks>
        <para>A FlashPix, PhotoCD, or JBIG file can contain more than one copy of the same image, each at a different physical
            resolution (width and height in pixels).</para>
        <para>After you get the available resolutions, you can use any of the following to specify the one to be loaded:</para>
        <para>
          <list type="bullet">
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsJbigLoadOptions.Resolution">CodecsJbigLoadOptions.Resolution</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsJpeg2000LoadOptions.J2kResolution">CodecsJpeg2000LoadOptions.J2kResolution</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsJpeg2000LoadOptions.CmwResolution">CodecsJpeg2000LoadOptions.CmwResolution</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsFpxLoadOptions.Resolution">CodecsFpxLoadOptions.Resolution</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsPcdLoadOptions.Resolution">CodecsPcdLoadOptions.Resolution</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsSidLoadOptions.Resolution">CodecsSidLoadOptions.Resolution</see>
              </description>
            </item>
          </list>
        </para>
        <para>For more information, refer to <see cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</see>.</para>
      </remarks>
      <example>
        <para>This example shows how many physical resolutions are available, selects the smallest one, then loads the file.</para>
        <code lang="VB">
Private Sub ReadLoadResolutionsExample(ByVal jbigFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Get the number of resolutions (sizes) available in this file
   Dim resolution As Size() = codecs.ReadLoadResolutions(jbigFileName)
   If resolution.Length &gt; 0 Then
      Console.WriteLine("{0} resolutions available", resolution.Length)
      Dim i As Integer = 0
      Do While i &lt; resolution.Length
         Console.WriteLine("{0} by {1}", resolution(i).Width, resolution(i).Height)
         i += 1
      Loop

      ' Set the size to load, the smallest size in this case */
      codecs.Options.Jpeg2000.Load.J2kResolution = resolution(0)

      ' Get the info about the image to show its original size
      Dim info As CodecsImageInfo = codecs.GetInformation(jbigFileName, False)
      Console.WriteLine("Size of image according to GetInformation is {0} by {1}", info.Width, info.Height)

      ' Load the image, keeping the bits per pixel of the file
      Dim image As RasterImage = codecs.Load(jbigFileName)
      Console.WriteLine("Size of image loaded is {0} by {1}", image.Width, image.Height)

      image.Dispose()
   Else
      Console.WriteLine("No resolutions found")
   End If

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void ReadLoadResolutionsExample(string jbigFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   // Get the number of resolutions (sizes) available in this file
   Size[] resolution = codecs.ReadLoadResolutions(jbigFileName);
   if(resolution.Length &gt; 0)
   {
      Console.WriteLine("{0} resolutions available", resolution.Length);
      for(int i = 0; i &lt; resolution.Length; i++)
         Console.WriteLine("{0} by {1}", resolution[i].Width, resolution[i].Height);

      // Set the size to load, the smallest size in this case */
      codecs.Options.Jpeg2000.Load.J2kResolution = resolution[0];

      // Get the info in of the image to show its original size
      CodecsImageInfo info = codecs.GetInformation(jbigFileName, false);
      Console.WriteLine("Size of image according to GetInformation is {0} by {1}", info.Width, info.Height);

      // Load the image, keeping the bits per pixel of the file
      RasterImage image = codecs.Load(jbigFileName);
      Console.WriteLine("Size of image loaded is {0} by {1}", image.Width, image.Height);

      image.Dispose();
   }
   else
      Console.WriteLine("No resolutions found");

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Convert(System.String,System.String,Leadtools.RasterImageFormat,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsImageInfo)">
      <summary>
            Converts an image file from one format to another, creating a new file in the new format.
            </summary>
      <param name="srcFileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="destFileName">A <see cref="T:System.String" /> containing the output file name.</param>
      <param name="format">The output file format. For valid values, refer to 
            <see cref="T:Leadtools.Topics.SummaryOfAllSupportedImageFileFormats">Summary of All Supported Image File Formats</see>.</param>
      <param name="width">New width of the output image. If this value is not 0, then the output file will be resized to the
            <paramref name="width" /> value. Use a value of 0 if you do not wish to resize the output file.</param>
      <param name="height">New height of the output image. If this value is not 0, then the output file will be resized to the
            <paramref name="height" /> value. Use a value of 0 if you do not wish to resize the output file.</param>
      <param name="bitsPerPixel">The output image pixel depth. Note that not all bits per pixel are available to
            all file formats.</param>
      <param name="info">A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> obect specifying more options for the conversion.</param>
      <keywords>Bits per pixel</keywords>
      <keywords>Color space</keywords>
      <keywords>Image converter</keywords>
      <remarks>
        <para>If you convert to a lower bits-per-pixel format, this method optimizes the colors automatically. For example, when
            converting a 24-bit file (16 million colors) to an 8-bit file (256 colors) this method selects the best 256 colors to
            represent the 24-bit image</para>
        <para>Note that this is a high-level method that does conversion from all possible formats to all possible formats.</para>
      </remarks>
      <example>
        <para>This example will convert create a RasterImage that contains as pages, thumbnails for all the CMP images in a folder</para>
        <code lang="VB">
Public Sub ConvertExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = False

   Dim srcPath As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images"
   Dim destPath As String = Path.Combine(srcPath, "GifThumbnails")

   If (Not Directory.Exists(destPath)) Then
      Directory.CreateDirectory(destPath)
   End If

   Const thumbWidth As Integer = 128
   Const thumbHeight As Integer = 128
   Dim destRect As Rectangle = New Rectangle(0, 0, thumbWidth, thumbHeight)

   ' Get the CMP files in this folder
   Dim files As String() = Directory.GetFiles(srcPath, "*.cmp")
   For Each srcFileName As String In files
      ' Make sure that this is a file we can load
      Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, False)
      If info.Format &lt;&gt; RasterImageFormat.Unknown Then
         ' Convert to thumbnails (we want to keep the aspect ratio)
         Dim rc As Rectangle = RasterImage.CalculatePaintModeRectangle(thumbWidth, thumbHeight, destRect, RasterPaintSizeMode.FitAlways, RasterPaintAlignMode.Near, RasterPaintAlignMode.Near)

         ' rc.Width and Height contains the image size we want with good aspect ratio
         Dim name As String = Path.GetFileNameWithoutExtension(srcFileName)
         Dim destFileName As String = Path.Combine(destPath, name &amp; "_thumb.gif")

         ' Delete the thumbnail if its already there
         If File.Exists(destFileName) Then
            File.Delete(destFileName)
         End If

         codecs.Convert(srcFileName, destFileName, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info)
      End If
   Next srcFileName

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void ConvertExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = false;

   string srcPath = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images";
   string destPath = Path.Combine(srcPath, @"GifThumbnails");

   if(!Directory.Exists(destPath))
      Directory.CreateDirectory(destPath);

   const int thumbWidth = 128;
   const int thumbHeight = 128;
   Rectangle destRect = new Rectangle(0, 0, thumbWidth, thumbHeight);

   // Get the CMP files in this folder
   string[] files = Directory.GetFiles(srcPath, "*.cmp");
   foreach(string srcFileName in files)
   {
      // Make sure that this is a file we can load
      CodecsImageInfo info = codecs.GetInformation(srcFileName, false);
      if(info.Format != RasterImageFormat.Unknown)
      {
         // Convert to thumbnails (we want to keep the aspect ratio)
         Rectangle rc = RasterImage.CalculatePaintModeRectangle(
            thumbWidth,
            thumbHeight,
            destRect,
            RasterPaintSizeMode.FitAlways,
            RasterPaintAlignMode.Near,
            RasterPaintAlignMode.Near);

         // rc.Width and Height contains the image size we want with good aspect ratio
         string name = Path.GetFileNameWithoutExtension(srcFileName);
         string destFileName = Path.Combine(destPath, name + "_thumb.gif");

         // Delete the thumbnail if its already there
         if(File.Exists(destFileName))
            File.Delete(destFileName);

         codecs.Convert(srcFileName, destFileName, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info);
      }
   }

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadMarkers(System.String)">
      <summary>
            Reads all the metadata markers (COM and APPn) from a file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <returns>A collection of <see cref="T:Leadtools.RasterMarkerMetadata" /> objects containing the metadata marker data.</returns>
      <remarks>
        <para>This method reads all the metadata markers from a file, and returns a collection of the markers.</para>
        <para> For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
        <para>If the file contains no marker, then this method will return an empty collection.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will read all the markers from an EXIF file</para>
        <code lang="VB">
Private Sub ReadMarkersFromFileExample(ByVal exifFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim markers As RasterCollection(Of RasterMarkerMetadata) = codecs.ReadMarkers(exifFileName)
   Console.WriteLine("{0} markers found with the following ID's:", markers.Count)
   For Each marker As RasterMarkerMetadata In markers
      Console.WriteLine(marker.Id)
   Next marker

   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void ReadMarkersFromFileExample(string exifFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   RasterCollection&lt;RasterMarkerMetadata&gt; markers = codecs.ReadMarkers(exifFileName);
   Console.WriteLine("{0} markers found with the following ID's:", markers.Count);
   foreach(RasterMarkerMetadata marker in markers)
      Console.WriteLine(marker.Id);

   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadMarkers(System.IO.Stream)">
      <summary>
            Reads all the metadata markers (COM and APPn) from a stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the input file image data.</param>
      <returns>A collection of <see cref="T:Leadtools.RasterMarkerMetadata" /> objects containing the metadata marker data.</returns>
      <remarks>
        <para>This method reads all the metadata markers from a file, and returns a collection of the markers.</para>
        <para>For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
        <para>If the file contains no marker, then this method will return an empty collection.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will read all the markers from a stream that contains an EXIF file data</para>
        <code lang="VB">
Private Sub ReadMarkersFromStreamExample(ByVal theStream As Stream)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim markers As RasterCollection(Of RasterMarkerMetadata) = codecs.ReadMarkers(theStream)
   Console.WriteLine("{0} markers found with the following ID's:", markers.Count)
   For Each marker As RasterMarkerMetadata In markers
      Console.WriteLine(marker.Id)
   Next marker

   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void ReadMarkersFromStreamExample(Stream theStream)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   RasterCollection&lt;RasterMarkerMetadata&gt; markers = codecs.ReadMarkers(theStream);
   Console.WriteLine("{0} markers found with the following ID's:", markers.Count);
   foreach(RasterMarkerMetadata marker in markers)
      Console.WriteLine(marker.Id);

   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)">
      <summary>
            Creates a thumbnail from the specified image file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the file from which the thumbnail image will be
            created.</param>
      <param name="options">Options for creating the thumbnail image.</param>
      <param name="pageNumber">1-based index of the page from which the thumbnail image should be created.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method creates.</returns>
      <remarks>
            This method will always return a thumbnail image. Depending on the <paramref name="options" /> passed, this method might
            read the stamp stored inside EXIF, CMP, JFIF and FlashPix files and return that.  To read the file stamp only, use
            <see cref="M:Leadtools.Codecs.RasterCodecs.ReadStamp(System.String,System.Int32)" />.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ThumbnailBrowser">Thumbnail Browser</seealso>
      <example>
        <para>This example will read a thumbnail from a CMP file</para>
        <code lang="VB">
Public Sub ReadThumbnailExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   ' Create a thumbnail with default options
   Dim options As CodecsThumbnailOptions = CodecsThumbnailOptions.Default
   options.LoadStamp = False
   Dim thumbnail As RasterImage = codecs.ReadThumbnail(srcFileName, options, 1)

   Console.WriteLine("Thumbnail with default option:")
   Console.WriteLine("  Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel)
   thumbnail.Dispose()

   ' Create a thumbnail with some options
   options.LoadStamp = False
   options.Width = 40
   options.Height = 80
   options.ForceSize = True
   options.MaintainAspectRatio = False
   options.BackColor = RasterColor.FromGdiPlusColor(Color.LightBlue)
   options.BitsPerPixel = 8
   thumbnail = codecs.ReadThumbnail(srcFileName, options, 1)

   Console.WriteLine("Thumbnail with set option (size: {0} by {1}, Bits/Pixel: {2}, ForeSize: {3}", options.Width, options.Height, options.BitsPerPixel, options.ForceSize)
   Console.WriteLine("  Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel)
   thumbnail.Dispose()

   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void ReadThumbnailExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   // Create a thumbnail with default options
   CodecsThumbnailOptions options = CodecsThumbnailOptions.Default;
   options.LoadStamp = false;
   RasterImage thumbnail = codecs.ReadThumbnail(srcFileName, options, 1);

   Console.WriteLine("Thumbnail with default option:");
   Console.WriteLine("  Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel);
   thumbnail.Dispose();

   // Create a thumbnail with some options
   options.LoadStamp = false;
   options.Width = 40;
   options.Height = 80;
   options.ForceSize = true;
   options.MaintainAspectRatio = false;
   options.BackColor = RasterColor.FromGdiPlusColor(Color.LightBlue);
   options.BitsPerPixel = 8;
   thumbnail = codecs.ReadThumbnail(srcFileName, options, 1);

   Console.WriteLine("Thumbnail with set option (size: {0} by {1}, Bits/Pixel: {2}, ForeSize: {3}",
      options.Width, options.Height, options.BitsPerPixel, options.ForceSize);
   Console.WriteLine("  Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel);
   thumbnail.Dispose();

   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadStamp(System.String,System.Int32)">
      <summary>
            Reads a thumbnail image stored in the file and loads.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the file which contains the stamp image to load.</param>
      <param name="pageNumber">1-based index of the page from which the stamp image should be loaded.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <remarks>
            Only EXIF, CMP, JFIF and FlashPix formats support stamps. However, not all file of these formats contain stamps. To create a
            thumbnail image from any file, use <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)" />.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.SaveStamp(Leadtools.RasterImage,System.String,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">
      <summary>
            Indicates which method should be called when an overlay is detected inside a file. 
            </summary>
      <param name="callback">The method which should be called when an overlay is detected. Use a null reference (Nothing in
            Visual Basic) to indicate that LEADTOOLS should handle overlays automatically.</param>
      <param name="mode">Indicates when should this method be called. See <see cref="T:Leadtools.Codecs.CodecsOverlayCallbackMode" /> for possible
            values.</param>
      <remarks>
        <para>Currently, only PTOCA files are known to use such overlays.</para>
        <para>PTOCA files contain file references (ie filenames) to external files that contain overlay bitmaps. (These files are
            typically in IOCA format)</para>
        <para>These external overlay files will be resized and placed on the current page according to the information from the
            PTOCA files. By default, LEADTOOLS will load these external overlay files from disk. You should override this behaviour if
            you load files that are not stored locally (eg: on a remote storage or in a database).</para>
        <para>To load overlays stored on other storage, you have to pass your overlay callback to this method and load the overlays
            in your overlay callback.</para>
        <para>The overlay callback will be used until <see cref="M:Leadtools.Codecs.RasterCodecs.StopOverlay" /> is called.</para>
      </remarks>
      <example>
        <para>This example will read a PTOKA file and overlays a TIF file on it</para>
        <code lang="VB">
Private Sub PtokaOverlayExample(ByVal ptokaFileName As String, ByVal ptokaFilesPath As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PtokaOverlay.tif"

   ' Set up the private variables used in the callback
   myCodecs = codecs
   myPtokaFilesPath = ptokaFilesPath

   ' Set the overlay callback
   codecs.StartOverlay(AddressOf MyOverlayCallback, CodecsOverlayCallbackMode.CallLoad)

   ' Load the PTOKA file
   Dim image As RasterImage = codecs.Load(ptokaFileName)

   ' Stop the overlay by resetting the old callback.
   codecs.StopOverlay()

   ' Save the image as TIFF
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private myCodecs As RasterCodecs
Private myPtokaFilesPath As String

Private Sub MyOverlayCallback(ByVal data As CodecsOverlayData)
   ' Show overlay information
   Console.WriteLine("File: {0}", data.FileName)
   Console.WriteLine("Page Number: {0}", data.PageNumber)
   Console.WriteLine("Info: {0}", data.Info)

   ' Construct the overlay file name
   Dim overlayFileName As String = Path.Combine(myPtokaFilesPath, data.FileName)

   If data.Info Then
      ' Info, we only need to fill in the .InfoXXX members of the data
      Dim imageInfo As CodecsImageInfo = myCodecs.GetInformation(overlayFileName, False)
      data.InfoWidth = imageInfo.Width
      data.InfoHeight = imageInfo.Height
      data.InfoXResolution = imageInfo.XResolution
      data.InfoYResolution = imageInfo.YResolution
   Else
      ' We need to load the overlay image into the .Image member
      data.Image = myCodecs.Load(overlayFileName)
   End If
End Sub</code>
        <code lang="CS">
void PtokaOverlayExample(string ptokaFileName, string ptokaFilesPath)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\PtokaOverlay.tif";

   // Set up the private variables used in the callback
   myCodecs = codecs;
   myPtokaFilesPath = ptokaFilesPath;

   // Set the overlay callback
   codecs.StartOverlay(MyOverlayCallback, CodecsOverlayCallbackMode.CallLoad);

   // Load the PTOKA file
   RasterImage image = codecs.Load(ptokaFileName);

   // Stop the overlay by resetting the old callback.
   codecs.StopOverlay();

   // Save the image as TIFF
   codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

RasterCodecs myCodecs;
string myPtokaFilesPath;

void MyOverlayCallback(CodecsOverlayData data)
{
   // Show overlay information
   Console.WriteLine("File: {0}", data.FileName);
   Console.WriteLine("Page Number: {0}", data.PageNumber);
   Console.WriteLine("Info: {0}", data.Info);

   // Construct the overlay file name
   string overlayFileName = Path.Combine(myPtokaFilesPath, data.FileName);

   if(data.Info)
   {
      // Info, we only need to fill in the .InfoXXX members of the data
      CodecsImageInfo imageInfo = myCodecs.GetInformation(overlayFileName, false);
      data.InfoWidth = imageInfo.Width;
      data.InfoHeight = imageInfo.Height;
      data.InfoXResolution = imageInfo.XResolution;
      data.InfoYResolution = imageInfo.YResolution;
   }
   else
   {
      // We need to load the overlay image into the .Image member
      data.Image = myCodecs.Load(overlayFileName);
   }
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopOverlay">
      <summary>
            Restores the previous overlay callback.
            </summary>
      <remarks>
            Call this method to restore the old overlay handling prior to calling <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)" /></remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)">
      <summary>
            Enumerates all the tags in a file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="pageNumber">1-based index of the page from which to enumerate the tags.</param>
      <remarks>
        <para>This method will fire the <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound" /> event for each tag found in the file.</para>
        <para>Currently, only TIFF and Exif files contain tags.</para>
        <para>For multipage TIFF files, you can enumerate the tags from a particular page. Specify the page number whose tags to
            enumerate.</para>
        <para>This method enumerates the standard TIFF tags and the user tags. Standard TIFF tags are less than 32767. User TIFF
            tags are usually between 32768 and 65535.</para>
        <para>To read a tag value, use <see cref="M:Leadtools.Codecs.RasterCodecs.ReadTag(System.String,System.Int32,System.Int32)" />.</para>
        <para>For general information about TIFF tags, refer to
            <see cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</see>.</para>
        <para>Do not attempt to use <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" /> to delete tags from inside the <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound" /> event. If you
            want to delete tags that you enumerate, use this event to add the tags to a list. Upon returning from
            <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />, you can delete all the tags from the list.</para>
      </remarks>
      <example>
        <para>This example will show all the tags in the give file, read them then saves them to another file</para>
        <code lang="VB">
Private tagsFileName As String
Private myTags As RasterCollection(Of RasterTagMetadata)
Private Sub EnumTagsExample(ByVal srcFileName As String, ByVal destFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   tagsFileName = srcFileName
   myTags = New RasterCollection(Of RasterTagMetadata)()

   AddHandler codecs.TagFound, AddressOf codecs_TagFound
   codecs.EnumTags(srcFileName, 1)
   RemoveHandler codecs.TagFound, AddressOf codecs_TagFound

   ' We read all the tags now, save them to the file
   Console.WriteLine("{0} tags read, saving them to the destination file", myTags.Count)
   codecs.WriteTags(destFileName, 1, myTags)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Sub codecs_TagFound(ByVal sender As Object, ByVal e As CodecsEnumTagsEventArgs)
   Console.WriteLine("Tag: Id={0}, Count={1}, Type={2}", e.Id, e.Count, e.MetadataType)

   ' Read this tag from the file and add it to our collection
   Dim codecs As RasterCodecs = TryCast(sender, RasterCodecs)
   Dim tag As RasterTagMetadata = codecs.ReadTag(tagsFileName, 1, e.Id)
   myTags.Add(tag)
End Sub</code>
        <code lang="CS">
string tagsFileName;
RasterCollection&lt;RasterTagMetadata&gt; myTags;
void EnumTagsExample(string srcFileName, string destFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   tagsFileName = srcFileName;
   myTags = new RasterCollection&lt;RasterTagMetadata&gt;();

   codecs.TagFound += new EventHandler&lt;CodecsEnumTagsEventArgs&gt;(codecs_TagFound);
   codecs.EnumTags(srcFileName, 1);
   codecs.TagFound -= new EventHandler&lt;CodecsEnumTagsEventArgs&gt;(codecs_TagFound);

   // We read all the tags now, save them to the file
   Console.WriteLine("{0} tags read, saving them to the destination file", myTags.Count);
   codecs.WriteTags(destFileName, 1, myTags);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

void codecs_TagFound(object sender, CodecsEnumTagsEventArgs e)
{
   Console.WriteLine("Tag: Id={0}, Count={1}, Type={2}", e.Id, e.Count, e.MetadataType);

   // Read this tag from the file and add it to our collection
   RasterCodecs codecs = sender as RasterCodecs;
   RasterTagMetadata tag = codecs.ReadTag(tagsFileName, 1, e.Id);
   myTags.Add(tag);
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)">
      <summary>
            Enumerates all the GeoKeys in a Geo TIFF file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="pageNumber">1-based index of the page from which to enumerate the tags.</param>
      <remarks>
        <para>For multipage Geo TIFF files, you can enumerate the GeoKeys from a particular page. Specify the page number whose
            GeoKeys to enumerate.</para>
        <para>The <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound" /> event is called for each GeoKey value stored in the three standard Geo TIFF tags 
            (34735, 34736 and 34737). For enumerating the other standard Geo TIFF data stored as separate tags, you can use
            <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />. Or, you can call <see cref="M:Leadtools.Codecs.RasterCodecs.ReadTag(System.String,System.Int32,System.Int32)" /> for each of these tags (since there are not that
            many of them to warrant the use of <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />).</para>
        <para>For more information, refer to <see cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</see>.</para>
      </remarks>
      <example>
        <para>This example will show all the geo keys in the given file then loads them and adds them to a destination file</para>
        <code lang="VB">
Private myGeoKeys As RasterCollection(Of RasterTagMetadata)
Private geoKeyFileName As String

Private Sub EnumGeoKeysExample(ByVal srcFileName As String, ByVal destFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   geoKeyFileName = srcFileName
   myGeoKeys = New RasterCollection(Of RasterTagMetadata)()

   AddHandler codecs.GeoKeyFound, AddressOf codecs_GeyKeyFound
   codecs.EnumGeoKeys(srcFileName, 1)
   RemoveHandler codecs.GeoKeyFound, AddressOf codecs_GeyKeyFound

   ' We read all the tags now, save them to the file
   Console.WriteLine("{0} GeoKeys read, saving them to the destination file", myGeoKeys.Count)
   codecs.WriteGeoKeys(destFileName, 1, myGeoKeys)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Sub codecs_GeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)
   Console.Write("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength)

   ' Load this GeoKey
   Dim codecs As RasterCodecs = TryCast(sender, RasterCodecs)
   Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeyFileName, 1, e.Id)
   Dim data As Byte() = geoKey.GetData()
   Dim i As Integer = 0
   Do While i &lt; data.Length
      Console.Write("{0:X} ", data(i))
      i += 1
   Loop
   Console.WriteLine()

   ' Add it to our collection
   myGeoKeys.Add(geoKey)
End Sub</code>
        <code lang="CS">
RasterCollection&lt;RasterTagMetadata&gt; myGeoKeys;
string geoKeyFileName;

void EnumGeoKeysExample(string srcFileName, string destFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   geoKeyFileName = srcFileName;
   myGeoKeys = new RasterCollection&lt;RasterTagMetadata&gt;();

   codecs.GeoKeyFound += new EventHandler&lt;CodecsEnumGeoKeysEventArgs&gt;(codecs_GeyKeyFound);
   codecs.EnumGeoKeys(srcFileName, 1);
   codecs.GeoKeyFound -= new EventHandler&lt;CodecsEnumGeoKeysEventArgs&gt;(codecs_GeyKeyFound);

   // We read all the tags now, save them to the file
   Console.WriteLine("{0} GeoKeys read, saving them to the destination file", myGeoKeys.Count);
   codecs.WriteGeoKeys(destFileName, 1, myGeoKeys);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

void codecs_GeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e)
{
   Console.Write("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength);

   // Load this GeoKey
   RasterCodecs codecs = sender as RasterCodecs;
   RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeyFileName, 1, e.Id);
   byte[] data = geoKey.GetData();
   for(int i = 0; i &lt; data.Length; i++)
      Console.Write("{0:X} ", data[i]);
   Console.WriteLine();

   // Add it to our collection
   myGeoKeys.Add(geoKey);
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)">
      <summary>
            Deletes a tag from a file, if the file supports tags (TIFF or Exif).
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the file from which to delete the tag.</param>
      <param name="pageNumber">The 1-based index of the page from which the tag will be deleted. Use -1 to delete the tag from
            the last page. Use 1 to delete the tag from the first page.</param>
      <param name="id">The ID of the tag in the TIFF file. The tag IDs are between 0 and 65535.</param>
      <remarks>
        <para>If you want to delete the tag from a particular IFD in the file, set
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Save.UseImageFileDirectoryOffset</see>
            to true, and set <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Save.ImageFileDirectoryOffset</see>
            to the IFD in question. This method will delete tags only from the main IFDs that make up an image. Some TIFF tags are
            themselves SubIFDs. You can delete tags from such SubIFDs by using
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Save.UseImageFileDirectoryOffset</see>
            and
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Save.ImageFileDirectoryOffset</see>
            specifying the IFD as above.</para>
        <para>Notes:</para>
        <para>
          <list type="bullet">
            <item>
              <description>The <strong>Leadtools.Codecs.Cmp.dll</strong> codec is used to delete the tag from all the TIFF and Exif
            files.</description>
            </item>
            <item>
              <description>Do not attempt to use this method to delete tags from inside the <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound" /> event. If you
            want to delete tags that you enumerate, use the <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound" /> event to add the tags to a list. Upon returning
            from <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />, you can delete all the tags from the list.</description>
            </item>
            <item>
              <description>You should be careful when you delete non-custom tags (tags below 32768). If you delete the wrong tag,
            you might corrupt the TIF file!.</description>
            </item>
          </list>
        </para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>
        <para>This example will create a TIF file, add a certain tag to it then delete it</para>
        <code lang="VB">
Public Sub TagExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_PageNumberTag.tif"

   ' Convert the source file to TIF
   Console.WriteLine("Converting the source file to TIF")
   codecs.Convert(srcFileName, destFileName, RasterImageFormat.Tif, 0, 0, 24, Nothing)

   Const pageNumberTagId As Integer = 297
   Dim pageNumber As Integer = 7

   Dim writeTag As RasterTagMetadata = New RasterTagMetadata()
   writeTag.Id = pageNumberTagId
   writeTag.DataType = RasterTagMetadataDataType.Int32
   writeTag.FromInt32(New Integer() {pageNumber})

   Console.WriteLine("Writing the following tag to the file:")
   Console.WriteLine("  ID: {0}", writeTag.Id)
   Console.WriteLine("  DataType: {0}", writeTag.DataType)
   Console.Write("  Data: ")
   Dim writeTagData As Byte() = writeTag.GetData()
   Dim i As Integer = 0
   Do While i &lt; writeTagData.Length
      Console.Write("{0:X} ", writeTagData(i))
      i += 1
   Loop
   Console.WriteLine()

   ' Add the tag
   Console.WriteLine("Writing the page number tag with data = {0} to the file", pageNumber)
   codecs.WriteTag(destFileName, 1, writeTag)

   ' Read the tag and make sure it is in the file
   Console.WriteLine("Reading the page number tag from the file")
   Dim readTag As RasterTagMetadata = codecs.ReadTag(destFileName, 1, pageNumberTagId)

   Console.WriteLine("Tag read from the file:")
   Console.WriteLine("  ID: {0}", readTag.Id)
   Console.WriteLine("  DataType: {0}", readTag.DataType)
   Console.Write("  Data: ")
   Dim readTagData As Byte() = readTag.GetData()
   i = 0
   Do While i &lt; readTagData.Length
      Console.Write("{0:X} ", readTagData(i))
      i += 1
   Loop
   Console.WriteLine()

   Debug.Assert(writeTag.Id = readTag.Id)
   Debug.Assert(writeTag.DataType = readTag.DataType)
   Debug.Assert(writeTagData.Length = writeTagData.Length)
   i = 0
   Do While i &lt; writeTagData.Length
      Debug.Assert(writeTagData(i) = readTagData(i))
      i += 1
   Loop

   ' Delete the tag from the file
   Console.WriteLine("Deleting the tag from the file")
   codecs.DeleteTag(destFileName, 1, pageNumberTagId)

   ' Make sure the tag is deleted
   Console.WriteLine("Reading the tag from the file again")
   readTag = codecs.ReadTag(destFileName, 1, pageNumberTagId)

   If readTag Is Nothing Then
      Console.WriteLine("Tag was not found")
   Else
      Console.WriteLine("Tag is found, this should not happen")
   End If

   Debug.Assert(readTag Is Nothing)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void TagExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_PageNumberTag.tif";

   // Convert the source file to TIF
   Console.WriteLine("Converting the source file to TIF");
   codecs.Convert(srcFileName, destFileName, RasterImageFormat.Tif, 0, 0, 24, null);

   const int pageNumberTagId = 297;
   int pageNumber = 7;

   RasterTagMetadata writeTag = new RasterTagMetadata();
   writeTag.Id = pageNumberTagId;
   writeTag.DataType = RasterTagMetadataDataType.Int32;
   writeTag.FromInt32(new int[] { pageNumber });

   Console.WriteLine("Writing the following tag to the file:");
   Console.WriteLine("  ID: {0}", writeTag.Id);
   Console.WriteLine("  DataType: {0}", writeTag.DataType);
   Console.Write("  Data: ");
   byte[] writeTagData = writeTag.GetData();
   for(int i = 0; i &lt; writeTagData.Length; i++)
      Console.Write("{0:X} ", writeTagData[i]);
   Console.WriteLine();

   // Add the tag
   Console.WriteLine("Writing the page number tag with data = {0} to the file", pageNumber);
   codecs.WriteTag(destFileName, 1, writeTag);

   // Read the tag and make sure its in the file
   Console.WriteLine("Reading the page number tag from the file");
   RasterTagMetadata readTag = codecs.ReadTag(destFileName, 1, pageNumberTagId);

   Console.WriteLine("Tag read from the file:");
   Console.WriteLine("  ID: {0}", readTag.Id);
   Console.WriteLine("  DataType: {0}", readTag.DataType);
   Console.Write("  Data: ");
   byte[] readTagData = readTag.GetData();
   for(int i = 0; i &lt; readTagData.Length; i++)
      Console.Write("{0:X} ", readTagData[i]);
   Console.WriteLine();

   Debug.Assert(writeTag.Id == readTag.Id);
   Debug.Assert(writeTag.DataType == readTag.DataType);
   Debug.Assert(writeTagData.Length == writeTagData.Length);
   for(int i = 0; i &lt; writeTagData.Length; i++)
      Debug.Assert(writeTagData[i] == readTagData[i]);

   // Delete the tag from the file
   Console.WriteLine("Deleting the tag from the file");
   codecs.DeleteTag(destFileName, 1, pageNumberTagId);

   // Make sure the tag is deleted
   Console.WriteLine("Reading the tag from the file again");
   readTag = codecs.ReadTag(destFileName, 1, pageNumberTagId);

   if(readTag == null)
      Console.WriteLine("Tag was not found");
   else
      Console.WriteLine("Tag is found, this should not happen");

   Debug.Assert(readTag == null);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadTag(System.String,System.Int32,System.Int32)">
      <summary>
            Gets the specified tagged data from a TIFF file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="pageNumber">1-based index of the page from which to read the tag.</param>
      <param name="id">
        <para>Tag to identify the data in the TIFF file. Use the same tag that you specified in the <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTag(System.String,System.Int32,Leadtools.RasterTagMetadata)" />. Examples
            of registered tags are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0x8298</term>
              <description>Copyright comment</description>
            </item>
            <item>
              <term>0x8769</term>
              <description>General Exif comments</description>
            </item>
            <item>
              <term>0x8825</term>
              <description>Exif GPS comments</description>
            </item>
            <item>
              <term>0x80A4</term>
              <description>Annotation TIFF tag</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The tag data.</returns>
      <remarks>
        <para>This method is provided to support TIFF tags that you define. If no such tag exists in the image, this method will
            return a null reference (Nothing in Visual Basic).</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadTag(System.IO.Stream,System.Int32,System.Int32)">
      <summary>
            Gets the specified tagged data from a TIFF stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the input file image data.</param>
      <param name="pageNumber">1-based index of the page from which to read the tag.</param>
      <param name="id">
        <para>Tag to identify the data in the TIFF file. Use the same tag that you specified in the <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTag(System.String,System.Int32,Leadtools.RasterTagMetadata)" />. Examples
            of registered tags are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0x8298</term>
              <description>Copyright comment</description>
            </item>
            <item>
              <term>0x8769</term>
              <description>General Exif comments</description>
            </item>
            <item>
              <term>0x8825</term>
              <description>Exif GPS comments</description>
            </item>
            <item>
              <term>0x80A4</term>
              <description>Annotation TIFF tag</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The tag data.</returns>
      <remarks>
        <para>This method is provided to support TIFF tags that you define. If no such tag exists in the image, this method will
            return a null reference (Nothing in Visual Basic).</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.String,System.Int32,System.Int32)">
      <summary>
            Gets the specified GeoKey data from a TIFF file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="pageNumber">1-based index of the page from which to read the GeoKey.</param>
      <param name="id">
        <para>GeoKey ID. Values of the GeoKey ID range between 0 and 65535. Possible ranges are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Range</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0..1023</term>
              <description>Do not use; reserved for future use.</description>
            </item>
            <item>
              <term>1024..2047</term>
              <description>GeoTIFF Configuration Keys.</description>
            </item>
            <item>
              <term>2048..3071</term>
              <description>Geographic/Geocentric CS Parameter Keys.</description>
            </item>
            <item>
              <term>3072..4095</term>
              <description>Projected CS Parameter Keys.</description>
            </item>
            <item>
              <term>4096..5119</term>
              <description>Vertical CS Parameter Keys.</description>
            </item>
            <item>
              <term>5120..32767</term>
              <description>Reserved.</description>
            </item>
            <item>
              <term>32768..65535</term>
              <description>Private use – use to store your own data.</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The GeoKey data.</returns>
      <remarks>
        <para>You can use this method to obtain the GeoKey data from a particular file.</para>
        <para>If no such GeoKey exists in the image, this method will return a null reference (Nothing in Visual Basic).</para>
        <para>The most efficient way of reading the GeoKeys in a file is to enumerate them with <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" /> and 
            then read each GeoKey with <see cref="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.String,System.Int32,System.Int32)" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>Refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.IO.Stream,System.Int32,System.Int32)">
      <summary>
            Gets the specified GeoKey data from a TIFF stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the input file data.</param>
      <param name="pageNumber">1-based index of the page from which to read the GeoKey.</param>
      <param name="id">
        <para>GeoKey ID. Values of the GeoKey ID range between 0 and 65535. Possible ranges are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Range</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0..1023</term>
              <description>Do not use; reserved for future use.</description>
            </item>
            <item>
              <term>1024..2047</term>
              <description>GeoTIFF Configuration Keys.</description>
            </item>
            <item>
              <term>2048..3071</term>
              <description>Geographic/Geocentric CS Parameter Keys.</description>
            </item>
            <item>
              <term>3072..4095</term>
              <description>Projected CS Parameter Keys.</description>
            </item>
            <item>
              <term>4096..5119</term>
              <description>Vertical CS Parameter Keys.</description>
            </item>
            <item>
              <term>5120..32767</term>
              <description>Reserved.</description>
            </item>
            <item>
              <term>32768..65535</term>
              <description>Private use – use to store your own data.</description>
            </item>
          </list>
        </para>
      </param>
      <returns>The GeoKey data.</returns>
      <remarks>
        <para>You can use this method to obtain the GeoKey data from a particular file.</para>
        <para>If no such GeoKey exists in the image, this method will return a null reference (Nothing in Visual Basic).</para>
        <para>The most efficient way of reading the GeoKeys in a file is to enumerate them with <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" /> and 
            then read each GeoKey with <see cref="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.String,System.Int32,System.Int32)" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTag(System.String,System.Int32,Leadtools.RasterTagMetadata)">
      <summary>
            Writes or changes a tag to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="tag">Tag to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes tags into an existing file or changes tags in an existing file.</para>
        <para>This method works only with TIFF files.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the tags that you write. If you write bad tags, the file
            might become corrupted. Consult the TIFF documentation for a list of predefined tags. It is recommended that you write only
            the user-defined tags (the tags between 0x8000 and 0xFFFF).</para>
        <para>See the TIFF documentation for a complete list of the TIFF tags and types.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTag(System.IO.Stream,System.Int32,Leadtools.RasterTagMetadata)">
      <summary>
            Writes or changes a tag to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> that contains the file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="tag">Tag to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes tags into an existing file or changes tags in an existing file.</para>
        <para>This method works only with TIFF files.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the tags that you write. If you write bad tags, the file
            might become corrupted. Consult the TIFF documentation for a list of predefined tags. It is recommended that you write only
            the user-defined tags (the tags between 0x8000 and 0xFFFF).</para>
        <para>See the TIFF documentation for a complete list of the TIFF tags and types.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTags(System.String,System.Int32,Leadtools.RasterCollection{Leadtools.RasterTagMetadata})">
      <summary>
            Writes or changes one or more tags to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="tags">A collection of <see cref="T:Leadtools.RasterTagMetadata" /> objects to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes tags into an existing file or changes tags in an existing file.</para>
        <para>This method works only with TIFF files.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the tags that you write. If you write bad tags, the file
            might become corrupted. Consult the TIFF documentation for a list of predefined tags. It is recommended that you write only
            the user-defined tags (the tags between 0x8000 and 0xFFFF).</para>
        <para>See the TIFF documentation for a complete list of the TIFF tags and types.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTags(System.IO.Stream,System.Int32,Leadtools.RasterCollection{Leadtools.RasterTagMetadata})">
      <summary>
            Writes or changes one or more tags to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> that contains the file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="tags">A collection of <see cref="T:Leadtools.RasterTagMetadata" /> objects to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes tags into an existing file or changes tags in an existing file.</para>
        <para>This method works only with TIFF files.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the tags that you write. If you write bad tags, the file
            might become corrupted. Consult the TIFF documentation for a list of predefined tags. It is recommended that you write only
            the user-defined tags (the tags between 0x8000 and 0xFFFF).</para>
        <para>See the TIFF documentation for a complete list of the TIFF tags and types.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteGeoKey(System.String,System.Int32,Leadtools.RasterTagMetadata)">
      <summary>
            Writes or changes a GeoKeys to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the filename.</param>
      <param name="pageNumber">1-based index of the page at which to write the GeoKey.</param>
      <param name="geoKey">GeoKey to identify the data in the Geo TIFF file.</param>
      <remarks>
        <para>This method writes to or changes the GeoKeys in an existing file.</para>
        <para>This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use
            <a href="ms-help://Leadtools.DotNetClassLibrary/Leadtools.Codecs/Leadtools.Codecs~Leadtools.Codecs.RasterCodecs~WriteMarkers.html">WriteMarkers</a> instead.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys,
            the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>
        <para>This example will show all the geo keys in the given file then loads them and adds them to a destination file</para>
        <code lang="VB">
Private geoKeySrcFileName As String
Private geoKeyDestFileName As String

Private Sub WriteGeoKeyExample(ByVal srcFileName As String, ByVal destFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   geoKeySrcFileName = srcFileName
   geoKeyDestFileName = destFileName

   AddHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound
   codecs.EnumGeoKeys(srcFileName, 1)
   RemoveHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Sub codecs_MyGeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)
   Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength)

   ' Load this GeoKey
   Dim codecs As RasterCodecs = TryCast(sender, RasterCodecs)
   Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id)

   ' Write it to the destination file
   Console.WriteLine("Wirting this GeoKey to the destination file")
   codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey)
End Sub</code>
        <code lang="CS">
string geoKeySrcFileName;
string geoKeyDestFileName;

void WriteGeoKeyExample(string srcFileName, string destFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   geoKeySrcFileName = srcFileName;
   geoKeyDestFileName = destFileName;

   codecs.GeoKeyFound += new EventHandler&lt;CodecsEnumGeoKeysEventArgs&gt;(codecs_MyGeyKeyFound);
   codecs.EnumGeoKeys(srcFileName, 1);
   codecs.GeoKeyFound -= new EventHandler&lt;CodecsEnumGeoKeysEventArgs&gt;(codecs_MyGeyKeyFound);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e)
{
   Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.DataLength);

   // Load this GeoKey
   RasterCodecs codecs = sender as RasterCodecs;
   RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id);

   // Write it to the destination file
   Console.WriteLine("Wirting this GeoKey to the destination file");
   codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey);
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteGeoKey(System.IO.Stream,System.Int32,Leadtools.RasterTagMetadata)">
      <summary>
            Writes or changes a GeoKeys to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> that contains the file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the GeoKey.</param>
      <param name="geoKey">GeoKey to identify the data in the Geo TIFF file.</param>
      <remarks>
        <para>This method writes to or changes the GeoKeys in an existing file.</para>
        <para>This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use
            <a href="ms-help://Leadtools.DotNetClassLibrary/Leadtools.Codecs/Leadtools.Codecs~Leadtools.Codecs.RasterCodecs~WriteMarkers.html">WriteMarkers</a> instead.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys,
            the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.WriteGeoKey(System.String,System.Int32,Leadtools.RasterTagMetadata)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteGeoKeys(System.String,System.Int32,Leadtools.RasterCollection{Leadtools.RasterTagMetadata})">
      <summary>
            Writes or changes one or more GeoKeys to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="geoKeys">A collection of <see cref="T:Leadtools.RasterTagMetadata" /> GeoKey objects to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes to or changes the GeoKeys in an existing file.</para>
        <para>This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use
            <a href="ms-help://Leadtools.DotNetClassLibrary/Leadtools.Codecs/Leadtools.Codecs~Leadtools.Codecs.RasterCodecs~WriteMarkers.html">WriteMarkers</a> instead.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys,
            the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteGeoKeys(System.IO.Stream,System.Int32,Leadtools.RasterCollection{Leadtools.RasterTagMetadata})">
      <summary>
            Writes or changes one or more GeoKeys to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> that contains the file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the tag.</param>
      <param name="geoKeys">A collection of <see cref="T:Leadtools.RasterTagMetadata" /> GeoKey objects to identify the data in the TIFF file.</param>
      <remarks>
        <para>This method writes to or changes the GeoKeys in an existing file.</para>
        <para>This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use
            <a href="ms-help://Leadtools.DotNetClassLibrary/Leadtools.Codecs/Leadtools.Codecs~Leadtools.Codecs.RasterCodecs~WriteMarkers.html">WriteMarkers</a> instead.</para>
        <para>Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys,
            the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGeoKeys">Implementing GeoKeys (GeoTIFF tags)</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)">
      <summary>
            Gets a comment field from a file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the input file name.</param>
      <param name="pageNumber">1-based index of the page from which to read the comment.</param>
      <param name="type">The type of comment. Refer to <see cref="T:Leadtools.Topics.TypesOfFileComments">Types of File Comments</see>.</param>
      <returns>A <see cref="T:Leadtools.RasterCommentMetadata" /> object containing the comment field information.  If no such comment
            is found in the file, this method will return a null reference (Nothing in Visual Basic).</returns>
      <remarks>
        <para>Some file formats can contain comments, and some cannot, and each file format has its own set of comment types.
            When you save a file, the comments in the <see cref="T:Leadtools.RasterImage" /> object can be saved in the file. The index into the
            array (specified using a constant) determines the type of comment.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>
        <para>This example demonstrates all of the methods related to comments for TIFF files. It saves a few comments to a file before loading them back</para>
        <code lang="VB">
Public Sub CommentsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Comments.tif"

   ' Convert the source file to TIF
   Console.WriteLine("Converting the source file to TIF")
   codecs.Convert(srcFileName, destFileName, RasterImageFormat.Tif, 0, 0, 24, Nothing)

   ' Add the artist comment
   Dim writeComment As RasterCommentMetadata = New RasterCommentMetadata()
   writeComment.Type = RasterCommentMetadataType.Artist
   writeComment.FromAscii("LEADTOOLS")

   Console.WriteLine("Writing the following comment:")
   Console.WriteLine(" Type:{0}, Data:{1}", writeComment.Type, writeComment.ToAscii())

   codecs.WriteComment(destFileName, 1, writeComment)

   ' Read the comment back
   Dim readComment As RasterCommentMetadata = codecs.ReadComment(destFileName, 1, RasterCommentMetadataType.Artist)
   Console.WriteLine("The following comment has been read:")
   Console.WriteLine(" Type:{0}, Data:{1}", readComment.Type, readComment.ToAscii())

   ' Write a few comments to the file in one pass
   Dim comments As RasterCollection(Of RasterCommentMetadata) = New RasterCollection(Of RasterCommentMetadata)()
   writeComment = New RasterCommentMetadata()
   writeComment.Type = RasterCommentMetadataType.Artist
   writeComment.FromAscii("LEADTOOLS Again")
   comments.Add(writeComment)

   writeComment = New RasterCommentMetadata()
   writeComment.Type = RasterCommentMetadataType.Copyright
   writeComment.FromAscii("(c) 2006")
   comments.Add(writeComment)

   Console.WriteLine("Writing the following comments to the file:")
   For Each comment As RasterCommentMetadata In comments
      Console.WriteLine(" Type:{0}, Data:{1}", comment.Type, comment.ToAscii())
   Next comment

   codecs.WriteComments(destFileName, 1, comments)

   ' Now get all the comments in the file and show them:
   Console.WriteLine("Reading all comments from the file:")

   Dim tifComments As RasterCommentMetadataType() = _
   { _
      RasterCommentMetadataType.Artist, _
      RasterCommentMetadataType.Copyright, _
      RasterCommentMetadataType.DateTime, _
      RasterCommentMetadataType.Description, _
      RasterCommentMetadataType.HostComputer, _
      RasterCommentMetadataType.Make, _
      RasterCommentMetadataType.Model, _
      RasterCommentMetadataType.NameOfDocument, _
      RasterCommentMetadataType.NameOfPage, _
      RasterCommentMetadataType.Software _
   }

   For Each tifComment As RasterCommentMetadataType In tifComments
      Dim comment As RasterCommentMetadata = codecs.ReadComment(destFileName, 1, tifComment)
      If Not comment Is Nothing Then
         Console.Write("Found comment, Type:{0}, Data:", comment.Type)

         Dim dataType As RasterCommentMetadataDataType = RasterCommentMetadata.GetDataType(comment.Type)

         Dim byteData As Byte()
         Dim shortData As Short()
         Dim rationalData As RasterMetadataRational()
         Dim urationalData As RasterMetadataURational()

         Select Case dataType
            Case RasterCommentMetadataDataType.Ascii
               Console.WriteLine(comment.ToAscii())

            Case RasterCommentMetadataDataType.Byte
               byteData = comment.ToByte()
               Dim i As Integer = 0
               Do While i &lt; byteData.Length
                  Console.Write("{0:X} ", byteData(i))
                  i += 1
               Loop
               Console.WriteLine()

            Case RasterCommentMetadataDataType.Int16
               shortData = comment.ToInt16()
               Dim i As Integer = 0
               Do While i &lt; shortData.Length
                  Console.Write("{0:X} ", shortData(i))
                  i += 1
               Loop
               Console.WriteLine()

            Case RasterCommentMetadataDataType.Rational
               rationalData = comment.ToRational()
               Dim i As Integer = 0
               Do While i &lt; rationalData.Length
                  Console.Write("{0}/{1) ", rationalData(i).Numerator, rationalData(i).Denominator)
                  i += 1
               Loop
               Console.WriteLine()

            Case RasterCommentMetadataDataType.URational
               urationalData = comment.ToURational()
               Dim i As Integer = 0
               Do While i &lt; urationalData.Length
                  Console.Write("{0}/{1) ", urationalData(i).Numerator, urationalData(i).Denominator)
                  i += 1
               Loop
               Console.WriteLine()
         End Select
      End If
   Next tifComment

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CommentsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Comments.tif";

   // Convert the source file to TIF
   Console.WriteLine("Converting the source file to TIF");
   codecs.Convert(srcFileName, destFileName, RasterImageFormat.Tif, 0, 0, 24, null);

   // Add the artist comment
   RasterCommentMetadata writeComment = new RasterCommentMetadata();
   writeComment.Type = RasterCommentMetadataType.Artist;
   writeComment.FromAscii("LEADTOOLS");

   Console.WriteLine("Writing the following comment:");
   Console.WriteLine(" Type:{0}, Data:{1}", writeComment.Type, writeComment.ToAscii());

   codecs.WriteComment(destFileName, 1, writeComment);

   // Read the comment back
   RasterCommentMetadata readComment = codecs.ReadComment(destFileName, 1, RasterCommentMetadataType.Artist);
   Console.WriteLine("The following comment has been read:");
   Console.WriteLine(" Type:{0}, Data:{1}", readComment.Type, readComment.ToAscii());

   // Write a few comments to the file in one pass
   RasterCollection&lt;RasterCommentMetadata&gt; comments = new RasterCollection&lt;RasterCommentMetadata&gt;();
   writeComment = new RasterCommentMetadata();
   writeComment.Type = RasterCommentMetadataType.Artist;
   writeComment.FromAscii("LEADTOOLS Again");
   comments.Add(writeComment);

   writeComment = new RasterCommentMetadata();
   writeComment.Type = RasterCommentMetadataType.Copyright;
   writeComment.FromAscii("(c) 2006");
   comments.Add(writeComment);

   Console.WriteLine("Writing the following comments to the file:");
   foreach(RasterCommentMetadata comment in comments)
      Console.WriteLine(" Type:{0}, Data:{1}", comment.Type, comment.ToAscii());

   codecs.WriteComments(destFileName, 1, comments);

   // Now get all the comments in the file and show them:
   Console.WriteLine("Reading all comments from the file:");

   RasterCommentMetadataType[] tifComments =
   {
      RasterCommentMetadataType.Artist,
      RasterCommentMetadataType.Copyright,
      RasterCommentMetadataType.DateTime,
      RasterCommentMetadataType.Description,
      RasterCommentMetadataType.HostComputer,
      RasterCommentMetadataType.Make,
      RasterCommentMetadataType.Model,
      RasterCommentMetadataType.NameOfDocument,
      RasterCommentMetadataType.NameOfPage,
      RasterCommentMetadataType.Software,
   };

   foreach(RasterCommentMetadataType tifComment in tifComments)
   {
      RasterCommentMetadata comment = codecs.ReadComment(destFileName, 1, tifComment);
      if(comment != null)
      {
         Console.Write("Found comment, Type:{0}, Data:", comment.Type);

         RasterCommentMetadataDataType dataType = RasterCommentMetadata.GetDataType(comment.Type);

         byte[] byteData;
         short[] shortData;
         RasterMetadataRational[] rationalData;
         RasterMetadataURational[] urationalData;

         switch(dataType)
         {
            case RasterCommentMetadataDataType.Ascii:
               Console.WriteLine(comment.ToAscii());
               break;

            case RasterCommentMetadataDataType.Byte:
               byteData = comment.ToByte();
               for(int i = 0; i &lt; byteData.Length; i++)
                  Console.Write("{0:X} ", byteData[i]);
               Console.WriteLine();
               break;

            case RasterCommentMetadataDataType.Int16:
               shortData = comment.ToInt16();
               for(int i = 0; i &lt; shortData.Length; i++)
                  Console.Write("{0:X} ", shortData[i]);
               Console.WriteLine();
               break;

            case RasterCommentMetadataDataType.Rational:
               rationalData = comment.ToRational();
               for(int i = 0; i &lt; rationalData.Length; i++)
                  Console.Write(@"{0}/{1) ", rationalData[i].Numerator, rationalData[i].Denominator);
               Console.WriteLine();
               break;

            case RasterCommentMetadataDataType.URational:
               urationalData = comment.ToURational();
               for(int i = 0; i &lt; urationalData.Length; i++)
                  Console.Write(@"{0}/{1) ", urationalData[i].Numerator, urationalData[i].Denominator);
               Console.WriteLine();
               break;
         }
      }
   }

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.IO.Stream,System.Int32,Leadtools.RasterCommentMetadataType)">
      <summary>
            Gets a comment field from a stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the input file data.</param>
      <param name="pageNumber">1-based index of the page from which to read the comment.</param>
      <param name="type">The type of comment. Refer to <see cref="T:Leadtools.Topics.TypesOfFileComments">Types of File Comments</see>.</param>
      <returns>A <see cref="T:Leadtools.RasterCommentMetadata" /> object containing the comment field information.  If no such comment
            is found in the file, this method will return a null reference (Nothing in Visual Basic).</returns>
      <remarks>
        <para>Some file formats can contain comments, and some cannot, and each file format has its own set of comment types.
            When you save a file, the comments in the <see cref="T:Leadtools.RasterImage" /> object can be saved in the file. The index into the
            array (specified using a constant) determines the type of comment.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteComment(System.String,System.Int32,Leadtools.RasterCommentMetadata)">
      <summary>
            Writes a comment to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the comment.</param>
      <param name="comment">A <see cref="T:Leadtools.RasterCommentMetadata" /> object containing the comment data.</param>
      <remarks>
        <para>This function only applies to TIF, uncompressed EXIF, or FPX files.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingExifFeatures">Implementing Exif Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteComment(System.IO.Stream,System.Int32,Leadtools.RasterCommentMetadata)">
      <summary>
            Writes a comment to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> that contains the file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the comment.</param>
      <param name="comment">A <see cref="T:Leadtools.RasterCommentMetadata" /> object containing the comment data.</param>
      <remarks>
        <para>This function only applies to TIF, uncompressed EXIF, or FPX files.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExtendedFlashPixSupport">Implementing Extended FlashPix Support</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingExifFeatures">Implementing Exif Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteComments(System.String,System.Int32,Leadtools.RasterCollection{Leadtools.RasterCommentMetadata})">
      <summary>
            Writes one or more comments to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the comment.</param>
      <param name="comments">A collection of <see cref="T:Leadtools.RasterCommentMetadata" /> objects containing he comments data.</param>
      <remarks>
        <para>This function only applies to TIF, uncompressed EXIF, or FPX files.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExifFeatures">Implementing Exif Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteComments(System.IO.Stream,System.Int32,Leadtools.RasterCollection{Leadtools.RasterCommentMetadata})">
      <summary>
            Writes one or more comments to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the input file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the comment.</param>
      <param name="comments">A collection of <see cref="T:Leadtools.RasterCommentMetadata" /> objects containing he comments data.</param>
      <remarks>
        <para>This function only applies to TIF, uncompressed EXIF, or FPX files.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingExifFeatures">Implementing Exif Features</seealso>
      <seealso cref="T:Leadtools.Topics.ImplementingTiffCommentsandTags">Implementing TIFF Comments and Tags</seealso>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteMarker(System.String,System.Int32,Leadtools.RasterMarkerMetadata)">
      <summary>
            Writes a marker to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the marker.</param>
      <param name="marker">A <see cref="T:Leadtools.RasterMarkerMetadata" /> object that contains the marker data.</param>
      <remarks>
        <para>For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <example>
        <para>This example read the markers from a source file and saving them to a destination file</para>
        <code lang="VB">
Private Sub MarkersExample(ByVal srcFileName As String, ByVal destFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Load the source image with markers
   Console.WriteLine("Loading the source image with all markers")
   codecs.Options.Load.Markers = True
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' Show the markers loaded
   Console.WriteLine("These markers were loaded:")
   For Each marker As RasterMarkerMetadata In srcImage.Markers
      Dim data As Byte() = marker.GetData()
      Console.WriteLine(" {0}, DataSize:{1}", marker.Id, data.Length)
   Next marker

   ' Create the destination image
   Dim destImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, 320, 20, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, IntPtr.Zero, 0)

   ' Save this as JPEG
   codecs.Save(destImage, destFileName, RasterImageFormat.Jpeg, 24)

   ' Write the markers from the source image to this destination image
   Console.WriteLine("Writing the markers to the destination file")
   codecs.WriteMarkers(destFileName, 1, srcImage.Markers)

   srcImage.Dispose()
   destImage.Dispose()

   ' Re-load the destination image with markers
   Console.WriteLine("Loading the destination image with all markers")
   codecs.Options.Load.Markers = True
   destImage = codecs.Load(destFileName)

   ' Show the markers loaded
   Console.WriteLine("These markers were loaded:")
   For Each marker As RasterMarkerMetadata In destImage.Markers
      Dim data As Byte() = marker.GetData()
      Console.WriteLine(" {0}, DataSize:{1}", marker.Id, data.Length)
   Next marker

   destImage.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void MarkersExample(string srcFileName, string destFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   // Load the source image with markers
   Console.WriteLine("Loading the source image with all markers");
   codecs.Options.Load.Markers = true;
   RasterImage srcImage = codecs.Load(srcFileName);

   // Show the markers loaded
   Console.WriteLine("These markers were loaded:");
   foreach(RasterMarkerMetadata marker in srcImage.Markers)
   {
      byte[] data = marker.GetData();
      Console.WriteLine(" {0}, DataSize:{1}", marker.Id, data.Length);
   }

   // Create the destination image
   RasterImage destImage = new RasterImage(
      RasterMemoryFlags.Conventional,
      320,
      20,
      24,
      RasterByteOrder.Bgr,
      RasterViewPerspective.TopLeft,
      null,
      IntPtr.Zero,
      0);

   // Save this as JPEG
   codecs.Save(destImage, destFileName, RasterImageFormat.Jpeg, 24);

   // Write the markers from the source image to this destination image
   Console.WriteLine("Writing the markers to the destination file");
   codecs.WriteMarkers(destFileName, 1, srcImage.Markers);

   srcImage.Dispose();
   destImage.Dispose();

   // Re-load the destination image with markers
   Console.WriteLine("Loading the destination image with all markers");
   codecs.Options.Load.Markers = true;
   destImage = codecs.Load(destFileName);

   // Show the markers loaded
   Console.WriteLine("These markers were loaded:");
   foreach(RasterMarkerMetadata marker in destImage.Markers)
   {
      byte[] data = marker.GetData();
      Console.WriteLine(" {0}, DataSize:{1}", marker.Id, data.Length);
   }

   destImage.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteMarker(System.IO.Stream,System.Int32,Leadtools.RasterMarkerMetadata)">
      <summary>
            Writes a marker to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the output file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the marker.</param>
      <param name="marker">A <see cref="T:Leadtools.RasterMarkerMetadata" /> object that contains the marker data.</param>
      <remarks>
        <para>For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
        <para>When you add or remove tags, the tags array at the end of the file is re-written. When 
            you modify existing tags, the new tag value is added to the file and the IFD is 
            modified as necessary. In all of these cases, there is no image recompression.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.WriteMarker(System.String,System.Int32,Leadtools.RasterMarkerMetadata)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteMarkers(System.String,System.Int32,Leadtools.RasterCollection{Leadtools.RasterMarkerMetadata})">
      <summary>
            Writes one or more markers to an existing file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> that contains the file name.</param>
      <param name="pageNumber">1-based index of the page at which to write the marker.</param>
      <param name="markers">A collection of <see cref="T:Leadtools.RasterMarkerMetadata" /> objects that contains the marker data.</param>
      <remarks>
        <para>For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.WriteMarker(System.String,System.Int32,Leadtools.RasterMarkerMetadata)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteMarkers(System.IO.Stream,System.Int32,Leadtools.RasterCollection{Leadtools.RasterMarkerMetadata})">
      <summary>
            Writes one or more markers to an existing stream.
            </summary>
      <param name="stream">A <see cref="T:System.IO.Stream" /> containing the output file data.</param>
      <param name="pageNumber">1-based index of the page at which to write the marker.</param>
      <param name="markers">A collection of <see cref="T:Leadtools.RasterMarkerMetadata" /> objects that contains the marker data.</param>
      <remarks>
        <para>For Exif files, this metadata collection will contain all the Exif and GPS comments, stored in APP1. It will also
            contain the audio information stored in APP2.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.WriteMarker(System.String,System.Int32,Leadtools.RasterMarkerMetadata)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)">
      <summary>
            Performs a lossless transformation for certain formats.
            </summary>
      <param name="srcFileName">A <see cref="T:System.String" /> containing the name of the source file.</param>
      <param name="destFileName">A <see cref="T:System.String" /> containing the name of the destination file.</param>
      <param name="flags">
        <para>Indicates the transform to be performed.  Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.Flip</see>
              </term>
              <description>Flip the image vertically</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.Reverse</see>
              </term>
              <description>Reverse the image (flip horizontally)</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.Rotate90</see>
              </term>
              <description>Rotate the image clockwise by 90 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.Rotate180</see>
              </term>
              <description>Rotate the image clockwise by 180 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.Rotate270</see>
              </term>
              <description>Rotate the image clockwise by 270 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTransformFlags">CodecsTransformFlags.None</see>
              </term>
              <description>Do nothing</description>
            </item>
          </list>
        </para>
      </param>
      <param name="pageNumber">1-based index of the page within the source file to process.</param>
      <param name="callback">
        <para>Optional callback method for processing custom markers. (This is useful for rotating JPEG files only). When
            transforming JPEG files, the method will enumerate all the markers contained in the file and it will pass them to this
            callback. The user has the ability to control the transformation for all the markers. For additional information on JPEG
            markers, please consult the JPEG specification.</para>
        <para>
          <list type="bullet">
            <item>
              <description>If you do not provide a callback method, use a null reference (Nothing in Visual Basic) as the value of
            this parameter and no JPEG markers will be transformed</description>
            </item>
            <item>
              <description>If you do provide a callback method, use a delegate to a method that has the same signature as 
            <see cref="T:Leadtools.Codecs.CodecsTransformMarkerCallback" /> as the value of this parameter</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>Currently, only JPEG, CMP and JPEG TIFF formats are supported.</para>
        <para>Only one of the rotate flags can be specified.</para>
        <para>The files transformed by this method will be read transformed by other applications capable of reading these file
            formats.</para>
        <para>JPEG and Exif JPEG stamps are transformed according to the flags specified in <paramref name="flags" />. Please note
            that some JPEG stamps will not be transformed by this method. Specifically, stamps stored in markers other than APP0 and
            APP1 will not be transformed. Use the <paramref name="callback" /> parameter to handle these cases. For example, if a stamp
            is in the APP14 marker, check for this in the <paramref name="callback" /> and write your own stamp using
            <see cref="M:Leadtools.Codecs.RasterCodecs.SaveStamp(Leadtools.RasterImage,System.String)" />.</para>
        <para>For JPEG files, the size of the image might be changed. This can happen when the image width or height is not a
            multiple of 8.</para>
        <para>The transformation is lossless. It is better than loading the image, transforming it using
            <see cref="T:Leadtools.ImageProcessing.RotateCommand" /> or <see cref="T:Leadtools.ImageProcessing.FlipCommand" /> and resaving it. Repeated load and save process will cause image
            degradation, but calling this method will not cause any image degradation.</para>
        <para>The rotation transformations are performed before the flip/reverse operations.</para>
        <para>Use the <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> method to control how the transform markers are used.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.WorkingWithMarkers">Working with Markers</seealso>
      <seealso cref="T:Leadtools.Topics.ProcessingAnImage">Processing an Image</seealso>
      <example>
        <para>This example will use the JPEG transformation to rotate a file by 90 degrees</para>
        <code lang="VB">
Public Sub TransformExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"

   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Transform.cmp"

   codecs.Transform(srcFileName, destFileName, CodecsTransformFlags.Rotate90, 1, AddressOf MyCodecsTransformMarkerCallback)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Function MyCodecsTransformMarkerCallback(ByVal id As Integer, ByVal data As IntPtr, ByVal dataLength As Integer, ByVal transform As CodecsTransformFlags) As CodecsTransformMarkerAction
   Console.WriteLine("Transforming: id: {0}, dataLength: {1}, transform: {2}", id, dataLength, transform)
   Return CodecsTransformMarkerAction.Default
End Function</code>
        <code lang="CS">
public void TransformExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";

   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Transform.cmp";

   codecs.Transform(
      srcFileName,
      destFileName,
      CodecsTransformFlags.Rotate90,
      1,
      MyCodecsTransformMarkerCallback);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

CodecsTransformMarkerAction MyCodecsTransformMarkerCallback(int id, IntPtr data, int dataLength, CodecsTransformFlags transform)
{
   Console.WriteLine("Transforming: id: {0}, dataLength: {1}, transform: {2}", id, dataLength, transform);
   return CodecsTransformMarkerAction.Default;
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Controls how the transform markers are used when performing a lossless transformation for certain formats.
            </summary>
      <param name="id">The id of the metadata marker.</param>
      <param name="data">A byte array containing the data for the metadata marker.</param>
      <param name="dataOffset">Offset into <paramref name="data" /> into which to beging the read operation.</param>
      <param name="dataLength">Number of bytes to read from <paramref name="data" />.</param>
      <remarks>
        <para>You should use this method to write a certain marker data into the file.</para>
        <para>This method can be called only from within the <see cref="T:Leadtools.Codecs.CodecsTransformMarkerCallback" /> passed to the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> method.</para>
        <para>The transform mechanism is as follows:</para>
        <para>
          <list type="bullet">
            <item>
              <description>You call <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" />.</description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> will call the <see cref="T:Leadtools.Codecs.CodecsTransformMarkerCallback" /> callback passed to it
            for every marker contained in the source file. In the callback, you can replace markers, insert markers or allow Leadtools
            to do the default processing (<strong>recommended</strong>).</description>
            </item>
            <item>
              <description>You can override the default action for a marker by returning one of the following values from the
            transform callback:
            <list type="bullet"><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Default</see>:
            Let Leadtools perform the default action on the marker. This means the marker might (or might not) be transformed and will
            be written to the destination file.</description></item><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Ignore</see>: This marker will be
            ignored (this is useful for stripping unwanted markers). You should also use this if you want to do your own
            transformation and write the marker yourself by calling <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" />.</description></item><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Abort</see>: Abort the process.
            This will cause <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> to throw a ‘user-abort’ exception.</description></item></list></description>
            </item>
          </list>
        </para>
        <para>Note: You can also use <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> to insert your own markers. The marker will be inserted
            before the current marker. You can call <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> as many times as you wish. Every call to
            <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> will insert a new marker.</para>
        <para>
          <strong>Warning</strong>: Incorrect handling of the markers will generate corrupt files!  Since some markers contain
            important information about the image (image width, height, compression method, colorspace, etc), you should use caution
            when working with markers.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.IntPtr,System.Int32)">
      <summary>
            Controls how the transform markers are used when performing a lossless transformation for certain formats.
            </summary>
      <param name="id">The id of the metadata marker.</param>
      <param name="data">A pointer to unmanaged memory buffer containing the data for the metadata marker.</param>
      <param name="dataLength">Number of bytes to read from <paramref name="data" />.</param>
      <remarks>
        <para>You should use this method to write a certain marker data into the file.</para>
        <para>This method can be called only from within the <see cref="T:Leadtools.Codecs.CodecsTransformMarkerCallback" /> passed to the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> method.</para>
        <para>The transform mechanism is as follows:</para>
        <para>
          <list type="bullet">
            <item>
              <description>You call <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" />.</description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> will call the <see cref="T:Leadtools.Codecs.CodecsTransformMarkerCallback" /> callback passed to it
            for every marker contained in the source file. In the callback, you can replace markers, insert markers or allow Leadtools
            to do the default processing (<strong>recommended</strong>).</description>
            </item>
            <item>
              <description>You can override the default action for a marker by returning one of the following values from the
            transform callback:
            <list type="bullet"><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Default</see>:
            Let Leadtools perform the default action on the marker. This means the marker might (or might not) be transformed and will
            be written to the destination file.</description></item><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Ignore</see>: This marker will be
            ignored (this is useful for stripping unwanted markers). You should also use this if you want to do your own
            transformation and write the marker yourself by calling <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" />.</description></item><item><description><see cref="T:Leadtools.Codecs.CodecsTransformMarkerAction">CodecsTransformMarkerAction.Abort</see>: Abort the process.
            This will cause <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" /> to throw a ‘user-abort’ exception.</description></item></list></description>
            </item>
          </list>
        </para>
        <para>Note: You can also use <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> to insert your own markers. The marker will be inserted
            before the current marker. You can call <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> as many times as you wish. Every call to
            <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTransformMarker(System.Int32,System.Byte[],System.Int32,System.Int32)" /> will insert a new marker.</para>
        <para>
          <strong>Warning</strong>: Incorrect handling of the markers will generate corrupt files!  Since some markers contain
            important information about the image (image width, height, compression method, colorspace, etc), you should use caution
            when working with markers.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Transform(System.String,System.String,Leadtools.Codecs.CodecsTransformFlags,System.Int32,Leadtools.Codecs.CodecsTransformMarkerCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)">
      <summary>
            Initializes the buffered compression engine.
            </summary>
      <param name="width">The image being compressed width in pixels.</param>
      <param name="height">The image being compressed height in pixels.</param>
      <param name="bitsPerPixel">The image being compressed bits/pixel value.</param>
      <param name="order">The image being compressed byte order.</param>
      <param name="viewPerspective">The image being compressed view perspective value.</param>
      <param name="inputDataLength">Size in bytes of the input image data.</param>
      <param name="outputData">Array of bytes which will be filled with the compressed data.</param>
      <param name="outputDataIndex">Index into <paramref name="outputData" /> where the compressed data should be inserted.</param>
      <param name="outputDataLength">Size of <paramref name="outputData" /> in bytes.</param>
      <param name="compression">
        <para>Type of compression to use. Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Cmp</see>
              </term>
              <description>LEAD CMP compression format</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg444</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:4:4 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg422</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:2:2 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg411</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:1:1 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg444</see>
              </term>
              <description>JPEG JTIF using YUV 4:4:4 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg422</see>
              </term>
              <description>JPEG JTIF using YUV 4:2:2 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg411</see>
              </term>
              <description>JPEG JTIF using YUV 4:1:1 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead0</see>
              </term>
              <description>LEAD 1 bit, lossless compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead1</see>
              </term>
              <description>LEAD 1 bit, excellent compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcitt</see>
              </term>
              <description>TIFF CCITT</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax1Dim</see>
              </term>
              <description>CCITT Group 3 one dimensional</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax2Dim</see>
              </term>
              <description>CCITT Group 3 two dimensional</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG4Fax</see>
              </term>
              <description>CCITT Group 4 two dimensional</description>
            </item>
          </list>
        </para>
      </param>
      <param name="callback">The callback method responsible for writing or handling the compressed data.</param>
      <remarks>
        <para>This method initializes the buffered compression engine. The compression is then carried out using the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)" /> method. It is ended by the <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> method.</para>
        <para>If <paramref name="order" /> is set to to <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see> and
            <paramref name="viewPerspective" /> is <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see> then the
            data that you put into the input buffer must be <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see> and loaded from top
            left.</para>
        <para>The compression process starts after the first call to <see cref="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)" />. The <paramref name="callback" />
            is called when the output buffer is filled with compressed data or after completing the compression process.
            <paramref name="callback" /> is responsible for emptying the output buffer — storing it, sending it, or doing other
            processing.</para>
        <para>The following is a flow chart that shows the relationship of these methods:</para>
        <para>
          <img src="CompressBuffer.gif" />
        </para>
        <para>Call <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> to end the compression process started by a call to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</para>
        <para>The quality factor of the compressed data is obtained as follows:
            <para><list type="table"><listheader><term>Format</term><description>Quality factor used</description></listheader><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Cmp</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see> and
            <see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.CmpQualityFactorPredefined">CodecsJpegSaveOptions.CmpQualityFactorPredefined</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg444</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg422</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg411</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg444</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg422</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg411</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead0</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead1</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcitt</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax1Dim</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax2Dim</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG4Fax</see></term><description>Not used</description></item></list></para></para>
        <para>This method does not support signed data images.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <para>This example demonstrates low-level image compression using StartCompress, Compress and StopCompress.
The callback method for writing the output is included at the end of the example</para>
        <code lang="VB">
Public Sub CompressExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_CompressData.cmp"

   ' Load the image to at 24-bits per pixel
   Dim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)
   If image.ViewPerspective &lt;&gt; RasterViewPerspective.TopLeft Then
      image.ChangeViewPerspective(RasterViewPerspective.TopLeft)
   End If

   ' Create the output file
   _compressStream = File.Create(destFileName)

   ' Calculate the bytes per line in the input buffer, without padding 
   Dim lineBytes As Integer = image.Width * 3

   ' Allocate a buffer for the incoming uncompressed data. Note that we
   '  are compressing 16 lines at a time. You should always use multiples of 16
   Dim inBuffer As Byte() = New Byte(16 * lineBytes - 1) {}

   ' Allocate an output buffer. This is where the compressed data will
   ' go.  Note that this allocates 1024-byte packets. 
   Dim outBuffer As Byte() = New Byte(1023) {}

   ' Lock down the image
   image.Access()

   ' Initialize the compression engine
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.QualityAndSize
   codecs.StartCompress(image.Width, image.Height, image.BitsPerPixel, image.Order, image.ViewPerspective, 16 * lineBytes, outBuffer, 0, outBuffer.Length, CodecsCompression.Cmp, AddressOf MyCodecsCompressDataCallback)

   ' Compress the data
   Dim i As Integer = 0
   Do While i &lt; image.Height ' i is incremented at the end
      ' Compression of the 16-line chunk starts here
      Dim j As Integer = 0
      Dim inBufferIndex As Integer = 0
      Do While (i + j) &lt; image.Height AndAlso j &lt; 16
         ' Get one line at time
         image.GetRow(i + j, inBuffer, inBufferIndex, lineBytes)

         ' Move to next line
         inBufferIndex += lineBytes

         j += 1
      Loop

      ' This is the main function that will do the actual Compression
      codecs.Compress(inBuffer, 0)
      i += 16
   Loop

   ' Reset the compression engine 
   codecs.StopCompress()

   ' Release the image and close the file
   image.Release()
   _compressStream.Close()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private _compressStream As FileStream
Private _compressBuffer As Byte()

Private Function MyCodecsCompressDataCallback(ByVal width As Integer, ByVal height As Integer, ByVal bitsPerPixel As Integer, ByVal order As RasterByteOrder, ByVal viewPerspective As RasterViewPerspective, ByVal data As IntPtr, ByVal dataLength As Integer) As Boolean
   ' Write data to the file
   If _compressBuffer Is Nothing OrElse _compressBuffer.Length &lt; dataLength Then
      _compressBuffer = New Byte(dataLength - 1) {}
   End If

   Marshal.Copy(data, _compressBuffer, 0, dataLength)

   _compressStream.Write(_compressBuffer, 0, dataLength)

   Return True
End Function</code>
        <code lang="CS">
public void CompressExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_CompressData.cmp";

   // Load the image to at 24-bits per pixel
   RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);
   if(image.ViewPerspective != RasterViewPerspective.TopLeft)
      image.ChangeViewPerspective(RasterViewPerspective.TopLeft);

   // Create the output file
   _compressStream = File.Create(destFileName);

   // Calculate the bytes per line in the input buffer, without padding 
   int lineBytes = image.Width * 3;

   // Allocate a buffer for the incoming uncompressed data. Note that we
   //  are compressing 16 lines at a time. You should always use multiples of 16
   byte[] inBuffer = new byte[16 * lineBytes];

   // Allocate an output buffer. This is where the compressed data will
   // go.  Note that this allocates 1024-byte packets. 
   byte[] outBuffer = new byte[1024];

   // Lock down the image
   image.Access();

   // Initialize the compression engine
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.QualityAndSize;
   codecs.StartCompress(
      image.Width,
      image.Height,
      image.BitsPerPixel,
      image.Order,
      image.ViewPerspective,
      16 * lineBytes,
      outBuffer,
      0,
      outBuffer.Length,
      CodecsCompression.Cmp,
      MyCodecsCompressDataCallback);

   // Compress the data
   int i = 0;
   while(i &lt; image.Height) // i is incremented at the end
   {
      // Compression of the 16-line chunk starts here
      int j = 0;
      int inBufferIndex = 0;
      while((i + j) &lt; image.Height &amp;&amp; j &lt; 16)
      {
         // Get one line at time
         image.GetRow(i + j, inBuffer, inBufferIndex, lineBytes);

         // Move to next line
         inBufferIndex += lineBytes;

         j++;
      }

      // This is the main function that will do the actual Compression
      codecs.Compress(inBuffer, 0);
      i += 16;
   }

   // Reset the compression engine 
   codecs.StopCompress();

   // Release the image and close the file
   image.Release();
   _compressStream.Close();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

FileStream _compressStream;
byte[] _compressBuffer;

bool MyCodecsCompressDataCallback(int width, int height, int bitsPerPixel, RasterByteOrder order, RasterViewPerspective viewPerspective, IntPtr data, int dataLength)
{
   // Write data to the file
   if(_compressBuffer == null || _compressBuffer.Length &lt; dataLength)
      _compressBuffer = new byte[dataLength];

   Marshal.Copy(data, _compressBuffer, 0, dataLength);

   _compressStream.Write(_compressBuffer, 0, dataLength);

   return true;
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.IntPtr,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)">
      <summary>
            Initializes the unmanaged memory buffered compression engine.
            </summary>
      <param name="width">The image being compressed width in pixels.</param>
      <param name="height">The image being compressed height in pixels.</param>
      <param name="bitsPerPixel">The image being compressed bits/pixel value.</param>
      <param name="order">The image being compressed byte order.</param>
      <param name="viewPerspective">The image being compressed view perspective value.</param>
      <param name="inputDataLength">Size in bytes of the input image data.</param>
      <param name="outputData">Pointer to unmanaged memory buffer will be filled with the compressed data.</param>
      <param name="outputDataLength">Size of <paramref name="outputData" /> in bytes.</param>
      <param name="compression">
        <para>Type of compression to use. Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Cmp</see>
              </term>
              <description>LEAD CMP compression format</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg444</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:4:4 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg422</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:2:2 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg411</see>
              </term>
              <description>JPEG File Interchange Format using YUV 4:1:1 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg444</see>
              </term>
              <description>JPEG JTIF using YUV 4:4:4 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg422</see>
              </term>
              <description>JPEG JTIF using YUV 4:2:2 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg411</see>
              </term>
              <description>JPEG JTIF using YUV 4:1:1 color spacing</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead0</see>
              </term>
              <description>LEAD 1 bit, lossless compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead1</see>
              </term>
              <description>LEAD 1 bit, excellent compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcitt</see>
              </term>
              <description>TIFF CCITT</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax1Dim</see>
              </term>
              <description>CCITT Group 3 one dimensional</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax2Dim</see>
              </term>
              <description>CCITT Group 3 two dimensional</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG4Fax</see>
              </term>
              <description>CCITT Group 4 two dimensional</description>
            </item>
          </list>
        </para>
      </param>
      <param name="callback">The callback method responsible for writing or handling the compressed data.</param>
      <remarks>
        <para>This method initializes the buffered compression engine. The compression is then carried out using the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)" /> method. It is ended by the <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> method.</para>
        <para>If <paramref name="order" /> is set to to <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see> and
            <paramref name="viewPerspective" /> is <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see> then the
            data that you put into the input buffer must be <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see> and loaded from top
            left.</para>
        <para>The compression process starts after the first call to <see cref="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)" />. The <paramref name="callback" />
            is called when the output buffer is filled with compressed data or after completing the compression process.
            <paramref name="callback" /> is responsible for emptying the output buffer — storing it, sending it, or doing other
            processing.</para>
        <para>The following is a flow chart that shows the relationship of these methods:</para>
        <para>
          <img src="CompressBuffer.gif" />
        </para>
        <para>Call <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> to end the compression process started by a call to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</para>
        <para>The quality factor of the compressed data is obtained as follows:
            <para><list type="table"><listheader><term>Format</term><description>Quality factor used</description></listheader><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Cmp</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see> and
            <see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.CmpQualityFactorPredefined">CodecsJpegSaveOptions.CmpQualityFactorPredefined</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg444</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg422</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Jpeg411</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg444</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg422</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TifJpeg411</see></term><description><see cref="P:Leadtools.Codecs.CodecsJpegSaveOptions.QualityFactor">CodecsJpegSaveOptions.QualityFactor</see></description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead0</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.Lead1</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcitt</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax1Dim</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG3Fax2Dim</see></term><description>Not used</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsCompression">CodecsCompression.TiffCcittG4Fax</see></term><description>Not used</description></item></list></para></para>
        <para>This method does not support signed data images.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)">
      <summary>
            Does buffer-to-buffer JPEG or LEAD CMP compression.
            </summary>
      <param name="data">Array of bytes that holds the data to be compressed.</param>
      <param name="dataIndex">Index into <paramref name="data" /> where the data starts.</param>
      <remarks>
            You must call <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" /> before using this method, and you must call <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> to end
            the compression process. For a description of how these methods work together, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.
            </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Compress(System.IntPtr)">
      <summary>
            Does buffer-to-buffer JPEG or LEAD CMP compression using an unmanaged memory buffer.
            </summary>
      <param name="data">Pointer to unmanaged memory that holds the data to be compressed.</param>
      <remarks>
            You must call <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" /> before using this method, and you must call <see cref="M:Leadtools.Codecs.RasterCodecs.StopCompress" /> to end
            the compression process. For a description of how these methods work together, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.
            </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopCompress">
      <summary>
            Cleans up all data variables and buffers allocated by the JPEG or LEAD CMP compression engine.
            </summary>
      <remarks>
            Calling this method will reset all internal variables to their default settings. Call this method after the compression of
            the entire image using <see cref="M:Leadtools.Codecs.RasterCodecs.Compress(System.Byte[],System.Int32)" />. For a detailed description of when to use this method, refer to
            <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.
            </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">
      <summary>
            Initializes the buffered decompression engine.
            </summary>
      <param name="options">Provides input parameters for the decompression process.</param>
      <returns>An object that identifies the decompression process.  This same object must be passed to the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.StopDecompress(System.Object)" /> methods.</returns>
      <remarks>
        <para>Initializes the buffered decompression engine. The decompression is then carried out using the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)" /> method. It is ended by the <see cref="M:Leadtools.Codecs.RasterCodecs.StopDecompress(System.Object)" /> method.</para>
        <para>Currently, raw JPEG must contain all the Huffman tables encoded. That is, it must be a readable JPEG file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>
        <code lang="VB">
' This sample loads raw data from a PackBits TIF file
' PackBits.tif is a 24-bit tif packbits compressed file
' PackBits.tif has 46 strips of packbits data
' The strip information is obtained by reading the TIF tags TAG_STRIPOFFSETS and TAG_STRIPBYTECOUNTS
' The strips are directly read and fed to the Compress method
Private Sub LoadRawPackbitsStrips(ByVal packTifFile As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Decompress.bmp"

   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(packTifFile, False)

   ' StartDecompress
   Dim options As CodecsStartDecompressOptions = CodecsStartDecompressOptions.Empty
   options.DataType = CodecsStartDecompressDataType.Strips
   options.Format = RasterImageFormat.RawPackBits
   options.Width = imageInfo.Width
   options.Height = imageInfo.Height
   options.BitsPerPixel = imageInfo.BitsPerPixel
   options.ViewPerspective = imageInfo.ViewPerspective
   options.RawOrder = imageInfo.Order
   options.LoadOrder = CodecsLoadByteOrder.BgrOrGray
   options.XResolution = imageInfo.XResolution
   options.YResolution = imageInfo.YResolution
   options.TiffPhotometricInterpretation = CodecsTiffPhotometricInterpretation.Rgb

   Dim decompressObject As Object = codecs.StartDecompress(options)

   ' Decompress

   Const TAG_STRIPOFFSETS As Integer = &amp;H111
   Const TAG_STRIPBYTECOUNTS As Integer = &amp;H117
   Const TAG_ROWSPERSTRIP As Integer = &amp;H116
   Const MAX_STRIPS As Integer = 1000

   Dim stripOffsets As Integer() = New Integer(MAX_STRIPS - 1) {}
   Dim stripSizes As Integer() = New Integer(MAX_STRIPS - 1) {}
   Dim rowsPerStripBuffer As Integer() = New Integer(0) {}

   Dim maxIndex As Integer = ReadTag(codecs, packTifFile, TAG_STRIPOFFSETS, stripOffsets)
   ReadTag(codecs, packTifFile, TAG_STRIPBYTECOUNTS, stripSizes)
   ReadTag(codecs, packTifFile, TAG_ROWSPERSTRIP, rowsPerStripBuffer)
   Dim rowsPerStrip As Integer = rowsPerStripBuffer(0)

   Dim fs As FileStream = File.OpenRead(packTifFile)

   Const row As Integer = 0 ' Note: this parameter is ignored for strips
   Const column As Integer = 0 ' Column offset of tile
   Dim index As Integer = 0
   Do While index &lt; maxIndex
      ' seek to the first strip
      fs.Seek(stripOffsets(index), SeekOrigin.Begin)

      Dim buffer As Byte() = New Byte(stripSizes(index) - 1) {}
      fs.Read(buffer, 0, buffer.Length)

      ' Calculate the height of uncompressed strip/tile
      Dim height As Integer = rowsPerStrip
      If index = (maxIndex - 1) Then
         ' fewer rows per strip
         height = imageInfo.Height - (maxIndex - 1) * rowsPerStrip
      End If

      codecs.Decompress(decompressObject, buffer, 0, buffer.Length, imageInfo.Width, height, row, column, CodecsDecompressDataFlags.Complete)
      index += 1
   Loop

   fs.Close()

   ' StopDecompress
   Dim image As RasterImage = codecs.StopDecompress(decompressObject)

   ' 'image' contains the uncompressed image
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

' Returns maximum index
Private Function ReadTag(ByVal codecs As RasterCodecs, ByVal fileName As String, ByVal tagId As Integer, ByVal stripArray As Integer()) As Integer
   Dim tag As RasterTagMetadata = codecs.ReadTag(fileName, 1, tagId)
   Dim data As Integer() = tag.ToInt32()
   data.CopyTo(stripArray, 0)
   Return tag.Count
End Function</code>
        <code lang="CS">
// This sample loads raw data from a PackBits TIF file
// PackBits.tif is a 24-bit tif packbits compressed file
// PackBits.tif has 46 strips of packbits data
// The strip information is obtained by reading the TIF tags TAG_STRIPOFFSETS and TAG_STRIPBYTECOUNTS
// The strips are directly read and fed to the Compress method
void LoadRawPackbitsStrips(string packTifFile)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Decompress.bmp";

   CodecsImageInfo imageInfo = codecs.GetInformation(packTifFile, false);

   // StartDecompress
   CodecsStartDecompressOptions options = CodecsStartDecompressOptions.Empty;
   options.DataType = CodecsStartDecompressDataType.Strips;
   options.Format = RasterImageFormat.RawPackBits;
   options.Width = imageInfo.Width;
   options.Height = imageInfo.Height;
   options.BitsPerPixel = imageInfo.BitsPerPixel;
   options.ViewPerspective = imageInfo.ViewPerspective;
   options.RawOrder = imageInfo.Order;
   options.LoadOrder = CodecsLoadByteOrder.BgrOrGray;
   options.XResolution = imageInfo.XResolution;
   options.YResolution = imageInfo.YResolution;
   options.TiffPhotometricInterpretation = CodecsTiffPhotometricInterpretation.Rgb;

   object decompressObject = codecs.StartDecompress(options);

   // Decompress

   const int TAG_STRIPOFFSETS = 0x111;
   const int TAG_STRIPBYTECOUNTS = 0x117;
   const int TAG_ROWSPERSTRIP = 0x116;
   const int MAX_STRIPS = 1000;

   int[] stripOffsets = new int[MAX_STRIPS];
   int[] stripSizes = new int[MAX_STRIPS];
   int[] rowsPerStripBuffer = new int[1];

   int maxIndex = ReadTag(codecs, packTifFile, TAG_STRIPOFFSETS, stripOffsets);
   ReadTag(codecs, packTifFile, TAG_STRIPBYTECOUNTS, stripSizes);
   ReadTag(codecs, packTifFile, TAG_ROWSPERSTRIP, rowsPerStripBuffer);
   int rowsPerStrip = rowsPerStripBuffer[0];

   FileStream fs = File.OpenRead(packTifFile);

   const int row = 0; // Note: this parameter is ignored for strips
   const int column = 0; // Column offset of tile
   for(int index = 0; index &lt; maxIndex; index++)
   {
      // seek to the first strip
      fs.Seek(stripOffsets[index], SeekOrigin.Begin);

      byte[] buffer = new byte[stripSizes[index]];
      fs.Read(buffer, 0, buffer.Length);

      // Calculate the height of uncompressed strip/tile
      int height = rowsPerStrip;
      if(index == (maxIndex - 1))
      {
         // fewer rows per strip
         height = imageInfo.Height - (maxIndex - 1) * rowsPerStrip;
      }

      codecs.Decompress(
         decompressObject,
         buffer,
         0,
         buffer.Length,
         imageInfo.Width,
         height,
         row,
         column,
         CodecsDecompressDataFlags.Complete);
   }

   fs.Close();

   // StopDecompress
   RasterImage image = codecs.StopDecompress(decompressObject);

   // 'image' contains the uncompressed image
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

// Returns maximum index
int ReadTag(RasterCodecs codecs, string fileName, int tagId, int[] stripArray)
{
   RasterTagMetadata tag = codecs.ReadTag(fileName, 1, tagId);
   int[] data = tag.ToInt32();
   data.CopyTo(stripArray, 0);
   return tag.Count;
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)">
      <summary>
            Called for each buffer, strip or tile of decompressed data.
            </summary>
      <param name="decompressContext">The decompressing context object obtained through <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</param>
      <param name="data">An array of bytes that contains the raw compressed data.</param>
      <param name="dataOffset">Offset of the strip referenced by <paramref name="data" />, This is usually zero.</param>
      <param name="dataLength">Number of bytes in <paramref name="data" />.</param>
      <param name="width">Width of the uncompressed strip or tile, in bytes</param>
      <param name="height">Height of the uncompressed strip or tile, in bytes. If the image consists of a single compressed
            strip, as with TWAIN, this is the height of the image.</param>
      <param name="row">Row offset of the tile or strip.</param>
      <param name="column">Column offset of the tile or strip.</param>
      <param name="flags">
        <para>Flags that indicate whether which part of a strip or tile is being processed. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see>
              </term>
              <description>Processing the beginning of a tile or strip</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see>
              </term>
              <description>Processing the end of a tile or strip</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Complete</see>
              </term>
              <description>Process a complete tile or strip. This is the same as
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see> |
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see></description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>Note that you must call the <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" /> method before using this method, and you must call the
            <see cref="M:Leadtools.Codecs.RasterCodecs.StopDecompress(System.Object)" /> method to end the decompression process.</para>
        <para>If <paramref name="data" /> does not point to a full tile or strip, set <paramref name="flags" /> to
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see> when the tile/strip begins and set it to
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see> when the tile/strip ends.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)">
      <summary>
            Called for each unmanaged memory buffer, strip or tile of decompressed data.
            </summary>
      <param name="decompressContext">The decompressing context object obtained through <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</param>
      <param name="data">A pointer to an unmanaged memory buffer that contains the raw compressed data.</param>
      <param name="dataOffset">Offset of the strip referenced by <paramref name="data" />, This is usually zero.</param>
      <param name="dataLength">Number of bytes in <paramref name="data" />.</param>
      <param name="width">Width of the uncompressed strip or tile, in bytes</param>
      <param name="height">Height of the uncompressed strip or tile, in bytes. If the image consists of a single compressed
            strip, as with TWAIN, this is the height of the image.</param>
      <param name="row">Row offset of the tile or strip.</param>
      <param name="column">Column offset of the tile or strip.</param>
      <param name="flags">
        <para>Flags that indicate whether which part of a strip or tile is being processed. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see>
              </term>
              <description>Processing the beginning of a tile or strip</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see>
              </term>
              <description>Processing the end of a tile or strip</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Complete</see>
              </term>
              <description>Process a complete tile or strip. This is the same as
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see> |
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see></description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
        <para>Note that you must call the <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" /> method before using this method, and you must call the
            <see cref="M:Leadtools.Codecs.RasterCodecs.StopDecompress(System.Object)" /> method to end the decompression process.</para>
        <para>If <paramref name="data" /> does not point to a full tile or strip, set <paramref name="flags" /> to
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.Start</see> when the tile/strip begins and set it to
            <see cref="T:Leadtools.Codecs.CodecsDecompressDataFlags">CodecsDecompressDataFlags.End</see> when the tile/strip ends.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.StopDecompress(System.Object)">
      <summary>
            Ends the decompression process and cleans up all the variables and buffers allocated.
            </summary>
      <param name="decompressContext">The decompressing context object obtained through <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object created from decompressing the input image data.</returns>
      <remarks>
        <para>This method will end the decompression process and cleans up all the variables and buffers allocated by the
            <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)" />.</para>
        <para>Call this method after the decompression of the entire image using <see cref="M:Leadtools.Codecs.RasterCodecs.Decompress(System.Object,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.Codecs.CodecsDecompressDataFlags)" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.GetPcdResolution(System.String)">
      <summary>
            Examines a PhotoCD file to determine which resolutions it contains.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the PhotoCD file.</param>
      <returns>An array of 6 boolean values that specifies if the resolution at the corresponding index exists.</returns>
      <remarks>
        <para>For the returned array of booleans, <strong>true</strong> means the corresponding resolution at this index exist in
            the file, while <strong>false</strong> means the corresponding resolution at the index does not exist in the file.</para>
        <para>The following table defines the resolution value at each index:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Index</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0 (PCD Base Over 64)</term>
              <description>Resolution 64 x 96</description>
            </item>
            <item>
              <term>1 (PCD Base Over 16)</term>
              <description>Resolution 128 x 192</description>
            </item>
            <item>
              <term>2 (PCD Base Over 4)</term>
              <description>Resolution 256 x 384</description>
            </item>
            <item>
              <term>3 (PCD Base)</term>
              <description>Resolution 512 x 768</description>
            </item>
            <item>
              <term>4 (PCD 4 Base)</term>
              <description>Resolution 1024 x 1536</description>
            </item>
            <item>
              <term>5 (PCD 16 Base)</term>
              <description>Resolution 2048 x 3072</description>
            </item>
          </list>
        </para>
      </remarks>
      <example>
        <para> This example checks for a high resolution PCD image and loads it if possible.</para>
        <code lang="VB">
Private Sub GetPcdResolutionExample(ByVal pcdFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Get the PCD resolution information.
   Const pcd4Base As Integer = 4

   Dim resolutions As Integer() = codecs.GetPcdResolution(pcdFileName)

   ' Use high resolution if possible
   If resolutions(pcd4Base) &lt;&gt; 0 Then
      codecs.Options.Pcd.Load.Resolution = New Size(1024, 1536)
      Console.WriteLine("Loading Loading 1024 x 1536")
   Else
      codecs.Options.Pcd.Load.Resolution = New Size(512, 768)
      Console.WriteLine("Loading 512 x 768")
   End If

   ' Load the image at its own bits per pixel
   Dim image As RasterImage = codecs.Load(pcdFileName, 0, CodecsLoadByteOrder.Bgr, 1, 1)
   Console.WriteLine("Image size loaded: {0} by {1}", image.Width, image.Height)
   image.Dispose()

   ' Reset the default PCD resolution
   codecs.Options.Pcd.Load.Resolution = New Size(512, 768)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void GetPcdResolutionExample(string pcdFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   // Get the PCD resolution information.
   const int pcd4Base = 4;

   int[] resolutions = codecs.GetPcdResolution(pcdFileName);

   // Use high resolution if possible
   if(resolutions[pcd4Base] != 0)
   {
      codecs.Options.Pcd.Load.Resolution = new Size(1024, 1536);
      Console.WriteLine("Loading Loading 1024 x 1536");
   }
   else
   {
      codecs.Options.Pcd.Load.Resolution = new Size(512, 768);
      Console.WriteLine("Loading 512 x 768");
   }

   // Load the image at its own bits per pixel
   RasterImage image = codecs.Load(pcdFileName, 0, CodecsLoadByteOrder.Bgr, 1, 1);
   Console.WriteLine("Image size loaded: {0} by {1}", image.Width, image.Height);
   image.Dispose();

   // Reset the default PCD resolution
   codecs.Options.Pcd.Load.Resolution = new Size(512, 768);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">
      <summary>
            Loads the specified layer from the specified PSD file.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load.</param>
      <param name="bitsPerPixel">
        <para>Resulting image pixel depth.  Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Keep the original file's pixel depth (Do not convert).</description>
            </item>
            <item>
              <term>1 to 8</term>
              <description>The specified bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>12</term>
              <description>12 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>16</term>
              <description>16 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>24</term>
              <description>24 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>32</term>
              <description>32 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>48</term>
              <description>48 bits per pixel in the resulting image.</description>
            </item>
            <item>
              <term>64</term>
              <description>64 bits per pixel in the resulting image.</description>
            </item>
          </list>
        </para>
      </param>
      <param name="order">The desired color order.</param>
      <param name="layer">Index of the layer to load. This index is zero-based. Pass 0 to load the first layer,
            1 to load the second layer, etc.</param>
      <param name="layerInfo">a <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /> object to be updated with information about the
            loaded layer. Pass a null reference (Nothing in Visual Basic) for this parameter if layer information is not needed.</param>
      <returns>The <see cref="T:Leadtools.RasterImage" /> object that this method loads.</returns>
      <remarks>
        <para>Use this method to load PSD files only.</para>
        <para>This method works similarly to a normal <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method, except that it loads only a layer from a
            PSD file. It loads the layer specified in <paramref name="layer" />.</para>
        <para>Before calling this method, you may need to get or set file information, such as the number of layers on
            the file. Refer to <see cref="T:Leadtools.Codecs.CodecsPsdImageInfo" />.</para>
        <para>The number of layers in a file is indicated in <see cref="P:Leadtools.Codecs.CodecsPsdImageInfo.Layers">CodecsPsdImageInfo.Layers</see>.
            If this number is 0, the file does not contains any layers and this method should not be called.</para>
      </remarks>
      <example>
        <para>This example will create and save a PSD with layers before re-loading the first layer back</para>
        <code lang="VB">
Public Sub PsdLayersExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim layerFileNames As String() = _
   { _
      "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample1.cmp", _
      "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample2.cmp", _
      "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample3.cmp" _
   }

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.psd"

   ' Load the layer images (as pages in 1 image)
   Dim layersImage As RasterImage = Nothing
   For Each layerFileName As String In layerFileNames
      Dim layerImage As RasterImage = codecs.Load(layerFileName)
      If layersImage Is Nothing Then
         layersImage = layerImage
      Else
         layersImage.AddPage(layerImage)
      End If
   Next layerFileName

   ' Load the image that is made up of all the layers
   Dim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)

   ' Save this image and all the layers
   codecs.SavePsdWithLayers(image, destFileName, 0, layersImage, Nothing)
   image.Dispose()
   layersImage.Dispose()

   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(destFileName, False)
   If imageInfo.Psd.Layers &gt; 0 Then
      Dim layer As Integer = 0
      Dim layerInfo As CodecsPsdLayerInfo = New CodecsPsdLayerInfo()
      Dim layerImage As RasterImage = codecs.LoadPsdLayer(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, layer, layerInfo)

      Dim blendModeKey As String = Encoding.ASCII.GetString(layerInfo.GetBlendModeKey())

      Console.WriteLine("Loaded layer at index {0}, size is {1} by {2}, Blend mode key:{3}", layer, layerImage.Width, layerImage.Height, blendModeKey)
      layerImage.Dispose()
   Else
      Console.WriteLine("No layers found in this PSD file")
   End If

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void PsdLayersExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string[] layerFileNames =
   {
      @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample1.cmp",
      @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample2.cmp",
      @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Sample3.cmp",
   };

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.psd";

   // Load the layer images (as pages in 1 image)
   RasterImage layersImage = null;
   foreach(string layerFileName in layerFileNames)
   {
      RasterImage layerImage = codecs.Load(layerFileName);
      if(layersImage == null)
         layersImage = layerImage;
      else
         layersImage.AddPage(layerImage);
   }

   // Load the image that is made up of all the layers
   RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.BgrOrGray, 1, 1);

   // Save this image and all the layers
   codecs.SavePsdWithLayers(image, destFileName, 0, layersImage, null);
   image.Dispose();
   layersImage.Dispose();

   CodecsImageInfo imageInfo = codecs.GetInformation(destFileName, false);
   if(imageInfo.Psd.Layers &gt; 0)
   {
      int layer = 0;
      CodecsPsdLayerInfo layerInfo = new CodecsPsdLayerInfo();
      RasterImage layerImage = codecs.LoadPsdLayer(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, layer, layerInfo);

      string blendModeKey = Encoding.ASCII.GetString(layerInfo.GetBlendModeKey());

      Console.WriteLine("Loaded layer at index {0}, size is {1} by {2}, Blend mode key:{3}", layer, layerImage.Width, layerImage.Height, blendModeKey);
      layerImage.Dispose();
   }
   else
      Console.WriteLine("No layers found in this PSD file");

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">
      <summary>
            Saves an image to a PSD file, along with the specified layers.
            </summary>
      <param name="image">The image to save.</param>
      <param name="fileName">The output file name.</param>
      <param name="bitsPerPixel">Resulting file's pixel depth. For color images this can be 24 or 32. For grayscale images this
            can be 8.</param>
      <param name="layerImages">An <see cref="T:Leadtools.RasterImage" /> object that contains layers (in each page) to save in the output
            file. The layers should have the same bits per pixel as the file. Every page in the image will be saved as a
            layer. The first page in the image will be interpreted as the first layer. The pages in the image must have the
            same bits per pixel as specified in <paramref name="bitsPerPixel" />.</param>
      <param name="layerInfos">An optional array of <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /> objects. If this is a null reference
            (Nothing in Visual Basic), then each layer will start at (0, 0) and will have the same size as the image. If this is not
            a null reference (Nothing in Visual Basic), then the layer information for each layer in <paramref name="layersInfo" />
            will be stored here.The number of <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /> objects must be the same as the number of pages in
            <paramref name="layerImages" />.
            </param>
      <remarks>
            Use this method to save PSD files with layers.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.CompactFile(System.String,System.String,System.Int32)">
      <summary>
            Compacts TIFF files with default options.
            </summary>
      <param name="srcFileName">A <see cref="T:System.String" /> containing the name of the file being compacted. All the pages will be
            read from this file.</param>
      <param name="destFileName">A <see cref="T:System.String" /> containing the name of the file in which all the pages will be written.</param>
      <param name="pages">Value that represents the number of pages to copy. Use 0 to copy all the pages. If
            <paramref name="pages" /> is &gt; 0, only <paramref name="pages" /> will be copied to <paramref name="destFileName" />.</param>
      <remarks>
        <para>
            This method can also be used to copy or extract one or more pages from a TIFF file and 
            copy them without recompression to another TIFF file. Whenever you save an image 
            containing a region as a TIFF file format, the region is also saved. Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the Document Imaging Toolkit, Document Imaging Suite, Medical Imaging Toolkit, or Medical 
            Imaging Suite. 
            </para>
      </remarks>
      <example>
        <code lang="VB">
Public Sub CompactFileExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CompactFile1_Src.tif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CompactFile1_Dest.tif"

   ' Create a RasterImage with 4 pages containing text showing the page number
   Dim image As RasterImage = Nothing

   Dim f As Font = New Font("Arial", 36, FontStyle.Bold)
   Dim btmp As Bitmap = New Bitmap(320, 200)
   Dim rc As Rectangle = New Rectangle(0, 0, btmp.Width, btmp.Height)
   Dim sf As StringFormat = New StringFormat()
   sf.Alignment = StringAlignment.Center
   sf.LineAlignment = StringAlignment.Center

   Const pageCount As Integer = 4
   For i As Integer = 1 To pageCount
      ' Create a GDI+ bitmap with the text
      Dim text As String = "Page " &amp; i

      Dim g As Graphics = Graphics.FromImage(btmp)
      g.FillRectangle(Brushes.White, rc)
      g.DrawString(text, f, Brushes.Black, rc, sf)
      g.Dispose()

      Dim tempImage As RasterImage = New RasterImage(btmp)

      If image Is Nothing Then
         image = tempImage
      Else
         image.AddPage(tempImage)
      End If
   Next i

   sf.Dispose()
   btmp.Dispose()

   ' Save all the pages to the file
   ' The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, srcFileName, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite)
   image.Dispose()

   ' All the pages in the source TIFF file. This will create the destination file
   codecs.CompactFile(srcFileName, destFileName, 0)

   ' Compact the source file again and append all the pages to the existing destination file
   Dim pagesToAdd As Integer = 0 ' 0 means all pages
   Dim srcStartPage As Integer = 1
   Dim destStartPage As Integer = 5 ' insert at the end

   codecs.CompactFile(srcFileName, destFileName, pagesToAdd, srcStartPage, False, 0, destStartPage, False, 0, CodecsSavePageMode.Insert, False, False)

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CompactFileExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CompactFile1_Src.tif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CompactFile1_Dest.tif";

   // Create a RasterImage with 4 pages containing text showing the page number
   RasterImage image = null;

   Font f = new Font("Arial", 36, FontStyle.Bold);
   Bitmap btmp = new Bitmap(320, 200);
   Rectangle rc = new Rectangle(0, 0, btmp.Width, btmp.Height);
   StringFormat sf = new StringFormat();
   sf.Alignment = StringAlignment.Center;
   sf.LineAlignment = StringAlignment.Center;

   const int pageCount = 4;
   for(int i = 1; i &lt;= pageCount; i++)
   {
      // Create a GDI+ bitmap with the text
      string text = "Page " + i;

      Graphics g = Graphics.FromImage(btmp);
      g.FillRectangle(Brushes.White, rc);
      g.DrawString(text, f, Brushes.Black, rc, sf);
      g.Dispose();

      RasterImage tempImage = new RasterImage(btmp);

      if(image == null)
         image = tempImage;
      else
         image.AddPage(tempImage);
   }

   sf.Dispose();
   btmp.Dispose();

   // Save all the pages to the file
   // The file should have 4 pages now: 1, 2, 3, 4
   codecs.Save(image, srcFileName, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite);
   image.Dispose();

   // All the pages in the source TIFF file. This will create the destination file
   codecs.CompactFile(srcFileName, destFileName, 0);

   // Compact the source file again and append all the pages to the existing destination file
   int pagesToAdd = 0;  // 0 means all pages
   int srcStartPage = 1;
   int destStartPage = 5;  // insert at the end

   codecs.CompactFile(
      srcFileName,
      destFileName,
      pagesToAdd,
      srcStartPage,
      false,
      0,
      destStartPage,
      false,
      0,
      CodecsSavePageMode.Insert,
      false,
      false);

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.CompactFile(System.String,System.String,System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean,System.Int32,Leadtools.Codecs.CodecsSavePageMode,System.Boolean,System.Boolean)">
      <summary>
            Compacts TIFF files with specific options.
            </summary>
      <param name="srcFileName">A <see cref="T:System.String" /> containing the name of the file being compacted. All the pages will be
            read from this file.</param>
      <param name="destFileName">A <see cref="T:System.String" /> containing the name of the file in which all the pages will be written.</param>
      <param name="pages">Value that represents the number of pages to copy. Use 0 to copy all the pages. If
            <paramref name="pages" /> is &gt; 0, only <paramref name="pages" /> will be copied to <paramref name="destFileName" />.</param>
      <param name="srcStartPage">Specifies the start page in the source file. Page 1 is the first page, page 2 is the second page,
            etc. The pages will be read starting with this page.</param>
      <param name="useSrcIfd">true to use <paramref name="srcIfd" /> as the file offset of the first page.  false to use
            <paramref name="srcStartPage" />.</param>
      <param name="srcIfd">
        <para>Offset into the source file for the start page.  Used only if <paramref name="useSrcIfd" /> is true.</para>
        <para>All pages will be relative to that page. (Note that this might not be the first physical page in the file). This is
            a common technique for manipulating files with thousands of pages.</para>
      </param>
      <param name="destStartPage">0 to overwrite <paramref name="destFileName" />. &lt;&gt;0 to append the pages to the end
            of the file.</param>
      <param name="useDestIfd">true to use <paramref name="destIfd" /> as the file offset of the first page.  false to use
            <paramref name="destStartPage" />.</param>
      <param name="destIfd">
        <para>Offset into the destinatio file for the start page.  Used only if <paramref name="useDestIfd" /> is true.</para>
        <para>All pages will be relative to that page. (Note that this might not be the first physical page in the file). This
            is a common technique for manipulating files with thousands of pages.</para>
      </param>
      <param name="pageMode">
            Flag which indidates the save page mode.
            <list type="table"><listheader><term>Value</term><description>Meaning</description></listheader><item><term><see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Insert</see></term><description>All pages are inserted before <paramref name="destStartPage" />.</description></item><item><term><see cref="T:Leadtools.Codecs.CodecsSavePageMode">CodecsSavePageMode.Replace</see></term><description>Pages in <paramref name="destFileName" /> are replaced beginning with <paramref name="destStartPage" />.</description></item></list></param>
      <param name="noSubFileType">true to have the <strong>TGSUBFILETYPE</strong> tag stripped from all pages in the destination
            file.</param>
      <param name="motorolaOrder">true to save pages in Motorola byte order. false to save pages in Intel byte order. This only
            applies when creating a new file. When updating existing files, the byte order of the original file is used.</param>
      <remarks>
        <para>
            This method can also be used to copy or extract one or more pages from a TIFF file and 
            copy them without recompression to another TIFF file. Whenever you save an image 
            containing a region as a TIFF file format, the region is also saved. Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the Document Imaging Toolkit, Document Imaging Suite, Medical Imaging Toolkit, or Medical 
            Imaging Suite. 
            </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.CompactFile(System.String,System.String,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.LoadCmykPlanes(System.String,System.Int32,System.Int32)">
      <summary>
            Loads CMYK TIFF files as CMYK and avoids the colorspace conversion to RGB.
            </summary>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to load. The file must be
            CMYK, otherwise the method will fail and throw an exception.</param>
      <param name="bitsPerPixel">
            Resulting image pixel depth.  Possible values are:<br /><list type="table"><listheader><term>Value</term><description>Meaning</description></listheader><item><term>8</term><description>Each plane will be a grayscale 8 bis per pixel image.</description></item><item><term>16</term><description>Each plane will be a grayscale 16 bits per pixel image.</description></item></list></param>
      <param name="page">1-based index of the page from which the planes should be loaded.</param>
      <returns>A <see cref="T:Leadtools.RasterImage" /> that this method loads.  The image will contain one page for each of the CMYK planes.</returns>
      <remarks>
        <para>If the data does not have to be loaded as CMYK, use <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" />.</para>
        <para>This method will fail if the input file is not TIFF CMYK. Note that not all the pages should be CMYK – it is enough
            if only the page that you wish to load is CMYK.</para>
        <para>This method uses the values of
            <see cref="P:Leadtools.Codecs.CodecsLoadOptions.AllocateImage">RasterCodecs.Options.Load.AllocateImage</see>,
            <see cref="P:Leadtools.Codecs.CodecsLoadOptions.StoreDataInImage">RasterCodecs.Options.Load.StoreDataInImage</see> and
            <see cref="P:Leadtools.Codecs.CodecsLoadOptions.SuperCompressed">RasterCodecs.Options.Load.SuperCompressed</see>.</para>
        <para>This method uses the values of
            <see cref="P:Leadtools.Codecs.CodecsTiffLoadOptions.ImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Load.ImageFileDirectoryOffset</see>.</para>
        <para>If the image being loaded contains alpha channel information, it will be stored in the 5th page of the returned image.</para>
        <para>Use <see cref="M:Leadtools.RasterImage.PaintCmykPlanes(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Rectangle,Leadtools.RasterPaintProperties,System.Object)">RasterImage.PaintCmykPlanes</see> to display the array and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SaveCmykPlanes(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">SaveCmykArray</see> to save an image as a CMYK TIFF file.</para>
        <para>If you want to convert the CMYK array to a regular BGR image and use the other methods or save to a file format other
            than TIFF CMYK, use <see cref="T:Leadtools.ImageProcessing.Color.ColorMergeCommand">ColorMergeCommand</see> and set the
            <see cref="P:Leadtools.ImageProcessing.Color.ColorMergeCommand.Type">ColorMergeCommand.Type</see> to
            <see cref="T:Leadtools.ImageProcessing.Color.ColorMergeCommandType">ColorMergeCommandType.Cmyk</see>.</para>
        <para>If you have an alpha image, use <see cref="M:Leadtools.RasterImage.SetAlphaImage(Leadtools.RasterImage)">RasterImage.SetAlphaImage</see> to set the
            alpha image.</para>
        <para>You can apply image processing on each individual image. This allows you to process each color plane separately.</para>
        <para>If you want to load a non-CMYK file as an array of color plane, use the normal <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)">Load</see> method and
            then use <see cref="T:Leadtools.ImageProcessing.Color.ColorSeparateCommand">ColorSeparateCommand</see> and
            <see cref="M:Leadtools.RasterImage.CreateAlphaImage">RasterImage.CreateAlphaImage</see> method.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.HandlingCMYKFilesAsSeparateBitmaps">Handling CMYK Files as Separate Images</seealso>
      <example>
        <para>This example will load all CMYK TIFF file, increase the brightness of the K plane only (which will darken the image)
and save the file as CMYK TIFF</para>
        <code lang="VB">
Private Sub CmykPlanesExample(ByVal cmykTifFile As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CmykPlanesTif.tif"

   ' Load the CMYK Planes of this image
   Dim cmykImage As RasterImage = codecs.LoadCmykPlanes(cmykTifFile, 8, 1)

   Console.WriteLine("CMYK planes loaded into an image with {0} pages", cmykImage.PageCount)
   Debug.Assert(cmykImage.PageCount = 4)

   ' The load has succeeded. Increase the brightness of the K (black) plane by 50%
   ' Note that this will DARKEN the image, because we increased the amount of black!

   Console.WriteLine("Changing the intensity of the K plane (the 4th page)")
   Dim command As ChangeIntensityCommand = New ChangeIntensityCommand()
   command.Brightness = 500
   cmykImage.Page = 4
   command.Run(cmykImage)
   cmykImage.Page = 1

   Console.WriteLine("Saving the image to the destination file")
   codecs.SaveCmykPlanes(cmykImage, destFileName, RasterImageFormat.TifLzwCmyk, 8, 1, CodecsSavePageMode.Overwrite)
   cmykImage.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void CmykPlanesExample(string cmykTifFile)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\CmykPlanesTif.tif";

   // Load the CMYK Planes of this image
   RasterImage cmykImage = codecs.LoadCmykPlanes(cmykTifFile, 8, 1);

   Console.WriteLine("CMYK planes loaded into an image with {0} pages", cmykImage.PageCount);
   Debug.Assert(cmykImage.PageCount == 4);

   // The load has succeeded. Increase the brightness of the K (black) plane by 50%
   // Note that this will DARKEN the image, because we increased the amount of black!

   Console.WriteLine("Changing the intensity of the K plane (the 4th page)");
   ChangeIntensityCommand command = new ChangeIntensityCommand();
   command.Brightness = 500;
   cmykImage.Page = 4;
   command.Run(cmykImage);
   cmykImage.Page = 1;

   Console.WriteLine("Saving the image to the destination file");
   codecs.SaveCmykPlanes(cmykImage, destFileName, RasterImageFormat.TifLzwCmyk, 8, 1, CodecsSavePageMode.Overwrite);
   cmykImage.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.SaveCmykPlanes(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32,System.Int32,Leadtools.Codecs.CodecsSavePageMode)">
      <summary>
            Saves the pages of an image as a CMYK TIFF file.
            </summary>
      <param name="image">The image that contains the CMKY planes to be saved.</param>
      <param name="fileName">A <see cref="T:System.String" /> containing the name of the image file to save.</param>
      <param name="format">
        <para>Specifies the output file format. Valid values are:</para>
        <para>
          <list>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.TifCmyk</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.TifPackBitsCmyk</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.TifLzwCmyk</see>
              </description>
            </item>
          </list>
        </para>
      </param>
      <param name="bitsPerPlane">
        <para>Resulting bits per pixel for each plane.  Possible values:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>0</term>
              <description>Default bits per pixel. LEADTOOLS will pick the closest valid value.</description>
            </item>
            <item>
              <term>8</term>
              <description>Save 8 bits per component. The generated file will contain 32 bits (no alpha) or 40 bits
                  (if alpha). Note that <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" /> will report 8 bits less (24 or 32-bit).</description>
            </item>
            <item>
              <term>16</term>
              <description>Save 16 bits per component. The generated file will contain 64 bits (no alpha) or 80 bits
                  (if alpha). Note that <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" /> will report 16 bits less (48 or 64-bit).</description>
            </item>
          </list>
        </para>
      </param>
      <param name="pageNumber">Specifies the reference page number when saving a multipage file.</param>
      <param name="pageMode">Determines how to handle the page when saving to multipage formats.</param>
      <remarks>
        <para>This method will save a CMYK file without performing a color conversion. Each page in the <paramref name="image" />
            will contain one of the C, M, Y, K, Alpha planes. The Alpha plane is optional. The <paramref name="image" /> should contain:
            </para>
        <para>
          <list>
            <item>
              <description>4 pages if you do not save alpha channel information or</description>
            </item>
            <item>
              <description>5 pages if you save alpha channel information</description>
            </item>
          </list>
        </para>
        <para>The pages are in this order: C, M, Y, K, Alpha (optional). All the pages must have the same width, height, bits per
            pixel and palette.</para>
        <para>If you want to save the pages of the <paramref name="image" /> as a file format not supported by this function, use 
            <see cref="T:Leadtools.ImageProcessing.Color.ColorMergeCommand">ColorMergeCommand</see> to create a BGR image and save the generated image using the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32)" /> method.</para>
        <para>CMYK TIFF files can be saved as planar (each image in its own plane) or chunky (the data from all the images will
            be interleaved during saving). Planar images will be saved faster, while chunky images are more compatible (some TIFF
            readers will not read planar files) and require less memory during the load process. The default is to save chunky files.</para>
        <para>You select the planar save mode by setting the
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.SavePlanar">RasterCodecs.Options.Tiff.Save.SavePlanar</see> property to true.</para>
        <para>This method uses the values of
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset">RasterCodecs.Options.Tiff.Save.ImageFileDirectoryOffset</see>.</para>
        <para>
            This method can also be used to copy or extract one or more pages from a TIFF file and 
            copy them without recompression to another TIFF file. Whenever you save an image 
            containing a region as a TIFF file format, the region is also saved. Note, however, 
            that the ability to save a region inside a TIFF file must be unlocked. This requires 
            the Document Imaging Toolkit, Document Imaging Suite, Medical Imaging Toolkit, or Medical 
            Imaging Suite. 
            </para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.HandlingCMYKFilesAsSeparateBitmaps">Handling CMYK Files as Separate Images</seealso>
      <example>Refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadCmykPlanes(System.String,System.Int32,System.Int32)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Encodes the input raw data using the ABIC encoder.
            </summary>
      <param name="inputData">A byte array which contains the input data.</param>
      <param name="align">Number of bytes aligned for uncompresed input data.</param>
      <param name="width">Image width, in pixels.</param>
      <param name="height">Image height, in pixels.</param>
      <param name="biLevel">true to indicate bi-level encoding, false to indicate 4-bit grayscale encoding.</param>
      <returns>A byte array that contains the ABIC encoded data.</returns>
      <remarks>
        <para>Call this method to compress the input raw data to 1-bit bi-level or 4-bit grayscale ABIC data.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.DecodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" /> to decode ABIC data.</para>
      </remarks>
      <example>
        <para>This example will load a file and encode as as ABIC. Decodes the data again before saving it to a destination file</para>
        <code lang="VB">
Public Sub EncodeDecodeAbicExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destDataFile As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Abic.bmp"

   ' Load the file save it to a memory stream as RAW
   Console.WriteLine("Loading the source image as 1 bits/pixel")
   Dim srcImage As RasterImage = codecs.Load(srcFileName, 1, CodecsLoadByteOrder.Rgb, 1, 1)

   Console.WriteLine("Saving the image to memory as RAW format")
   Dim ms As MemoryStream = New MemoryStream()
   codecs.Save(srcImage, ms, RasterImageFormat.Raw, srcImage.BitsPerPixel)

   Console.WriteLine("Encoding the data as ABIC")
   Dim rawData As Byte() = ms.GetBuffer()
   ms.Close()

   ' Encode this data as ABIC
   Dim abicData As Byte() = codecs.EncodeAbic(rawData, 4, srcImage.Width, srcImage.Height, False)

   ' Decode the data back to RAW
   Console.WriteLine("Deconding the data back as RAW")
   rawData = codecs.DecodeAbic(abicData, 4, srcImage.Width, srcImage.Height, False)

   ' Create a new image from this data
   Dim destImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, srcImage.BitsPerPixel, srcImage.Order, srcImage.ViewPerspective, srcImage.GetPalette(), IntPtr.Zero, 0)

   ' Add the scan lines
   Dim y As Integer = 0
   Do While y &lt; destImage.Height
      Dim bufferIndex As Integer = y * destImage.BytesPerLine
      destImage.SetRow(y, rawData, bufferIndex, destImage.BytesPerLine)
      y += 1
   Loop

   ' Save this image to disk
   codecs.Save(destImage, destDataFile, RasterImageFormat.Bmp, destImage.BitsPerPixel)

   srcImage.Dispose()
   destImage.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void EncodeDecodeAbicExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destDataFile = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_Abic.bmp";

   // Load the file save it to a memory stream as RAW
   Console.WriteLine("Loading the source image as 1 bits/pixel");
   RasterImage srcImage = codecs.Load(srcFileName, 1, CodecsLoadByteOrder.Rgb, 1, 1);

   Console.WriteLine("Saving the image to memory as RAW format");
   MemoryStream ms = new MemoryStream();
   codecs.Save(srcImage, ms, RasterImageFormat.Raw, srcImage.BitsPerPixel);

   Console.WriteLine("Encoding the data as ABIC");
   byte[] rawData = ms.GetBuffer();
   ms.Close();

   // Encode this data as ABIC
   byte[] abicData = codecs.EncodeAbic(rawData, 4, srcImage.Width, srcImage.Height, false);

   // Decode the data back to RAW
   Console.WriteLine("Deconding the data back as RAW");
   rawData = codecs.DecodeAbic(abicData, 4, srcImage.Width, srcImage.Height, false);

   // Create a new image from this data
   RasterImage destImage = new RasterImage(
      RasterMemoryFlags.Conventional,
      srcImage.Width,
      srcImage.Height,
      srcImage.BitsPerPixel,
      srcImage.Order,
      srcImage.ViewPerspective,
      srcImage.GetPalette(),
      IntPtr.Zero,
      0);

   // Add the scan lines
   for(int y = 0; y &lt; destImage.Height; y++)
   {
      int bufferIndex = y * destImage.BytesPerLine;
      destImage.SetRow(y, rawData, bufferIndex, destImage.BytesPerLine);
   }

   // Save this image to disk
   codecs.Save(destImage, destDataFile, RasterImageFormat.Bmp, destImage.BitsPerPixel);

   srcImage.Dispose();
   destImage.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(Leadtools.RasterNativeBuffer,System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Encodes the input raw unmanaged memory data using the ABIC encoder.
            </summary>
      <param name="inputData">A <see cref="T:Leadtools.RasterNativeBuffer" /> object which contains the input data.</param>
      <param name="align">Number of bytes aligned for uncompresed input data.</param>
      <param name="width">Image width, in pixels.</param>
      <param name="height">Image height, in pixels.</param>
      <param name="biLevel">true to indicate bi-level encoding, false to indicate 4-bit grayscale encoding.</param>
      <returns>A <see cref="T:Leadtools.RasterNativeBuffer" /> object that contains the ABIC encoded data.</returns>
      <remarks>
        <para>Call this method to compress the input raw data to 1-bit bi-level or 4-bit grayscale ABIC data.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.DecodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" /> to decode ABIC data.</para>
        <para>The output buffer in the <see cref="T:Leadtools.RasterNativeBuffer" /> object returned is allocated automatically by
            this method. The user is responsible to free this unmanaged memory buffer by calling
            <see cref="M:System.Runtime.InteropServices.Marshal.FreeHGlobal(System.IntPtr)">Marshal.FreeHGlobal</see> as follows:</para>
        <para>
          <code>
            RasterNativeBuffer buffer = rasterCodecsObject.EncodeAbic(...
            // Use buffer
            Marshal.FreeHGlobal(buffer.Data);
            </code>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.DecodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Decodes the input ABIC data using the ABIC decoder and returns raw uncompressed data.
            </summary>
      <param name="inputData">A byte array which contains the input data.</param>
      <param name="align">Number of bytes to align the uncompressed output data.</param>
      <param name="width">Image width, in pixels.</param>
      <param name="height">Image height, in pixels.</param>
      <param name="biLevel">true to indicate bi-level encoding, false to indicate 4-bit grayscale encoding.</param>
      <returns>A byte array that contains the raw uncompressed data.</returns>
      <remarks>
        <para>Call this method to decompress the input 1-bit bi-level or 4-bit grayscale ABIC data.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" /> to encode ABIC data.</para>
        <para>The output buffer in the <see cref="T:Leadtools.RasterNativeBuffer" /> object returned is allocated automatically by
            this method. The user is responsible to free this unmanaged memory buffer by calling
            <see cref="M:System.Runtime.InteropServices.Marshal.FreeHGlobal(System.IntPtr)">Marshal.FreeHGlobal</see> as follows:</para>
        <para>
          <code>
            RasterNativeBuffer buffer = rasterCodecsObject.EncodeAbic(...
            // Use buffer
            Marshal.FreeHGlobal(buffer.Data);
            </code>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.DecodeAbic(Leadtools.RasterNativeBuffer,System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>
            Decodes the input ABIC unmanaged memory data using the ABIC decoder and returns raw uncompressed data.
            </summary>
      <param name="inputData">A <see cref="T:Leadtools.RasterNativeBuffer" /> object which contains the input data.</param>
      <param name="align">Number of bytes to align the uncompressed output data.</param>
      <param name="width">Image width, in pixels.</param>
      <param name="height">Image height, in pixels.</param>
      <param name="biLevel">true to indicate bi-level encoding, false to indicate 4-bit grayscale encoding.</param>
      <returns>A <see cref="T:Leadtools.RasterNativeBuffer" /> object that contains the raw uncompressed data.</returns>
      <remarks>
        <para>Call this method to decompress the input 1-bit bi-level or 4-bit grayscale ABIC data.</para>
        <para>Use <see cref="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" /> to encode ABIC data.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EncodeAbic(System.Byte[],System.Int32,System.Int32,System.Int32,System.Boolean)" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)">
      <summary>
            Loads extensions from the specified Exif file.
            </summary>
      <param name="fileName">The input file name.</param>
      <param name="pageNumber">1-based index of the page within the file that contains the extension.</param>
      <returns>An <see cref="T:Leadtools.Codecs.CodecsExtensionList" /> object that contains the extensions found in this file.</returns>
      <remarks>
        <para>Please note that not all Exif files have extensions.</para>
        <para>Currently, this method works only with Exif files. Exif files can contain extra data stored as "FlashPix extensions".
            This method can be used to access this extra data. Leadtools refers to this extra data as "extensions".</para>
        <para>You must dispose the <see cref="T:Leadtools.Codecs.CodecsExtensionList" /> returned from this method when you are done using it.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <example>
        <para>This example will show detailed information on the streams present in the Exif file.</para>
        <code lang="VB">
Private Sub ExtensionsExample(ByVal exifFileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim stampFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Extension.bmp"
   Dim audioFileNameTemplate As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Extension{0}.wav"

   ' Read the extensions from the file
   Console.WriteLine("Reading the extensions from the exif file")
   Dim extensionList As CodecsExtensionList = codecs.ReadExtensions(exifFileName, 1)
   If Not extensionList Is Nothing Then
      If (extensionList.Flags And CodecsExtensionListFlags.Stamp) = CodecsExtensionListFlags.Stamp Then
         Console.WriteLine("Stamp extension: Found, saving to {0}", stampFileName)
         Dim stampImage As RasterImage = extensionList.CreateStamp()
         codecs.Save(stampImage, stampFileName, RasterImageFormat.Bmp, 24)
         stampImage.Dispose()
      Else
         Console.WriteLine("Stamp extension: Not found")
      End If

      If (extensionList.Flags And CodecsExtensionListFlags.Audio) = CodecsExtensionListFlags.Audio Then
         Console.WriteLine("Audio extension: Found, saving ...")
         Dim audioData As RasterNativeBuffer
         Dim streamIndex As Integer = 0

         Do
            audioData = extensionList.GetAudioData(streamIndex)
            If audioData.Data &lt;&gt; IntPtr.Zero Then
               Dim audioFileName As String = String.Format(audioFileNameTemplate, streamIndex)
               Console.WriteLine("To {0}", audioFileName)
               Using fs As FileStream = File.Create(audioFileName)
                  Dim data As Byte() = New Byte(audioData.Length - 1) {}
                  Marshal.Copy(audioData.Data, data, 0, audioData.Length)
                  fs.Write(data, 0, audioData.Length)
               End Using

               streamIndex += 1
            End If
         Loop While audioData.Data &lt;&gt; IntPtr.Zero

         Console.WriteLine("{0} total audio streams found", streamIndex)
      Else
         Console.WriteLine("Audio extension: Not found")
      End If

      Dim extensions As CodecsExtension() = extensionList.GetExtensions()
      Console.WriteLine("Total number of extensions found in the file: {0}", extensions.Length)

      Dim i As Integer = 0
      Do While i &lt; extensions.Length
         Dim extension As CodecsExtension = extensions(i)
         Console.WriteLine(" {0}. Name: {1}, Clsid: {2}, UCDefault: {3}, DatLength: {4}", i, extension.Name, extension.Clsid, extension.UCDefault, extension.DataLength)
         i += 1
      Loop

      extensionList.Dispose()
   Else
      Console.WriteLine("No extensions were found in the file")
   End If

   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void ExtensionsExample(string exifFileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string stampFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Extension.bmp";
   string audioFileNameTemplate = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Extension{0}.wav";

   // Read the extensions from the file
   Console.WriteLine("Reading the extensions from the exif file");
   CodecsExtensionList extensionList = codecs.ReadExtensions(exifFileName, 1);
   if(extensionList != null)
   {
      if((extensionList.Flags &amp; CodecsExtensionListFlags.Stamp) == CodecsExtensionListFlags.Stamp)
      {
         Console.WriteLine("Stamp extension: Found, saving to {0}", stampFileName);
         RasterImage stampImage = extensionList.CreateStamp();
         codecs.Save(stampImage, stampFileName, RasterImageFormat.Bmp, 24);
         stampImage.Dispose();
      }
      else
         Console.WriteLine("Stamp extension: Not found");

      if((extensionList.Flags &amp; CodecsExtensionListFlags.Audio) == CodecsExtensionListFlags.Audio)
      {
         Console.WriteLine("Audio extension: Found, saving ...");
         RasterNativeBuffer audioData;
         int streamIndex = 0;

         do
         {
            audioData = extensionList.GetAudioData(streamIndex);
            if(audioData.Data != IntPtr.Zero)
            {
               string audioFileName = string.Format(audioFileNameTemplate, streamIndex);
               Console.WriteLine("To {0}", audioFileName);
               using(FileStream fs = File.Create(audioFileName))
               {
                  byte[] data = new byte[audioData.Length];
                  Marshal.Copy(audioData.Data, data, 0, audioData.Length);
                  fs.Write(data, 0, audioData.Length);
               }

               streamIndex++;
            }
         }
         while(audioData.Data != IntPtr.Zero);

         Console.WriteLine("{0} total audio streams found", streamIndex);
      }
      else
         Console.WriteLine("Audio extension: Not found");

      CodecsExtension[] extensions = extensionList.GetExtensions();
      Console.WriteLine("Total number of extensions found in the file: {0}", extensions.Length);

      for(int i = 0; i &lt; extensions.Length; i++)
      {
         CodecsExtension extension = extensions[i];
         Console.WriteLine(" {0}. Name: {1}, Clsid: {2}, UCDefault: {3}, DatLength: {4}",
            i, extension.Name, extension.Clsid, extension.UCDefault, extension.DataLength);
      }

      extensionList.Dispose();
   }
   else
      Console.WriteLine("No extensions were found in the file");

   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.IO.Stream,System.Int32)">
      <summary>
            Loads extensions from the specified Exif stream.
            </summary>
      <param name="stream">The input file data stream.</param>
      <param name="pageNumber">1-based index of the page within the file that contains the extension.</param>
      <returns>An <see cref="T:Leadtools.Codecs.CodecsExtensionList" /> object that contains the extensions found in this file.</returns>
      <remarks>
        <para>Please note that not all Exif files have extensions.</para>
        <para>Currently, this method works only with Exif files. Exif files can contain extra data stored as "FlashPix extensions".
            This method can be used to access this extra data. Leadtools refers to this extra data as "extensions".</para>
        <para>You must dispose the <see cref="T:Leadtools.Codecs.CodecsExtensionList" /> returned from this method when you are done using it.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ExifFileExtensions">Exif File Extensions</seealso>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.PreloadCodecsList">
      <summary>
            Gets the current preload codecs list.
            </summary>
      <value>The current preload codecs list.</value>
      <remarks>
        <para>Use this property before calling <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" /> if you wish to get the current setting for the preload
            codecs list before changing it.</para>
        <para>The preload codecs list contains the list of fixed and cached codecs.</para>
        <para>The fixed codec count can be obtained from <see cref="P:Leadtools.Codecs.RasterCodecs.FixedPreloadCodecs" />.</para>
        <para>The cached codec count can be obtained from <see cref="P:Leadtools.Codecs.RasterCodecs.CachedPreloadCodecs" />.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.LoadingFileFilters">Loading File Codecs</seealso>
      <seealso cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.FixedPreloadCodecs">
      <summary>
            Gets the current setting for the fixed preload codecs count.
            </summary>
      <value>The current setting for the fixed preload codecs count.</value>
      <seealso cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.CachedPreloadCodecs">
      <summary>
            Gets the current setting for the cached preload codecs count.
            </summary>
      <value>The current setting for the cached preload codecs count.</value>
      <seealso cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.IgnoreCodecsList">
      <summary>
            Gets the current ignore codecs list.
            </summary>
      <value>The current ignore codecs list.</value>
      <remarks>
            Use this property before calling <see cref="M:Leadtools.Codecs.RasterCodecs.IgnoreCodecs(System.String)" /> if you wish to get the current setting for the ignore
            codecs list before changing it.
            </remarks>
      <seealso cref="M:Leadtools.Codecs.RasterCodecs.IgnoreCodecs(System.String)" />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.Options">
      <summary>
            Gets or sets the load and save options for this <see cref="T:Leadtools.Codecs.RasterCodecs" />.
            </summary>
      <value>The load and save options for this <see cref="T:Leadtools.Codecs.RasterCodecs" />.</value>
      <remarks>
        <para>The <see cref="T:Leadtools.Codecs.RasterCodecs" /> class lets you set different options when loading and saving image files.</para>
        <para>These options are categorized into groups corresponding to the image format they are applied to.</para>
        <para>Some of the options are "global", for example, overriding the resolution of the file to load.</para>
        <para>You manipulate the options of a certain format through the embedded classes inside the <see cref="P:Leadtools.Codecs.RasterCodecs.Options" /> 
            property of this <see cref="T:Leadtools.Codecs.RasterCodecs" /> object.  For example, to disable MMX when loading JPEG options,
            you would do:</para>
        <para>
          <code>
            rasterCodecsObject.Options.Jpeg.Load.DisableMmx = true;
            </code>
        </para>
        <para>Alternatively, you can obtain an instance of the correct options, manipulate the values before setting it back
            as follows:</para>
        <para>
          <code>
            CodecsOptions options = rasterCodecsObject.Options;
            options.Jpeg.Load.DisableMmx = true;
            rasterCodecsObject.Options = options;
            </code>
        </para>
        <para>You can access the various options with the following properties:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Class</term>
              <description>Description</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsLoadOptions" />
              </term>
              <description>Global load options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Load">CodecsOptions.Load</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSaveOptions" />
              </term>
              <description>Global save options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Save">CodecsOptions.Save</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />
              </term>
              <description>LEAD Advanced Bitonal Compression (ABC) options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Abc">CodecsOptions.Abc</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsEcwOptions" />
              </term>
              <description>ECW format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Ecw">CodecsOptions.Ecw</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsEpsOptions" />
              </term>
              <description>EPS format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Eps">CodecsOptions.Eps</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsFpxOptions" />
              </term>
              <description>FPX (FlashPix) format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Fpx">CodecsOptions.Fpx</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsGifOptions" />
              </term>
              <description>GIF format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Gif">CodecsOptions.Gif</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsJbigOptions" />
              </term>
              <description>JBIG format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Jbig">CodecsOptions.Jbig</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsJbig2Options" />
              </term>
              <description>JBIG2 format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Jbig2">CodecsOptions.Jbig2</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsJpegOptions" />
              </term>
              <description>JPEG and LEAD CMP Compressed format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Jpeg">CodecsOptions.Jpeg</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsJpeg2000Options" />
              </term>
              <description>JPEG 2000 and LEAD CMW Compressed format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Jpeg2000">CodecsOptions.Jpeg2000</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPcdOptions" />
              </term>
              <description>PCD format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Pcd">CodecsOptions.Pcd</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPdfOptions" />
              </term>
              <description>PDF format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Pdf">CodecsOptions.Pdf</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPngOptions" />
              </term>
              <description>PNG format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Png">CodecsOptions.Png</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsPtokaOptions" />
              </term>
              <description>PTOKA format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Ptoka">CodecsOptions.Ptoka</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsRawOptions" />
              </term>
              <description>RAW format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Raw">CodecsOptions.Raw</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />
              </term>
              <description>RTF format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Rtf">CodecsOptions.Rtf</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsSidOptions" />
              </term>
              <description>SID (DrSID) format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Sid">CodecsOptions.Sid</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />
              </term>
              <description>TIFF format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Tiff">CodecsOptions.Tiff</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />
              </term>
              <description>TEXT format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Txt">CodecsOptions.Txt</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsWmfOptions" />
              </term>
              <description>WMF format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Wmf">CodecsOptions.Wmf</see> property.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.Codecs.CodecsXpsOptions" />
              </term>
              <description>XPS format options. Accessed through the <see cref="P:Leadtools.Codecs.CodecsOptions.Xps">CodecsOptions.Xps</see> property.</description>
            </item>
          </list>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.RasterCodecs" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.ThrowExceptionsOnInvalidImages">
      <summary>
            Gets or sets a value indicating whether to throw an exception instead of returning a null reference (Nothing in Visual Basic)
            on certain methods of this <see cref="T:Leadtools.Codecs.RasterCodecs" /> object.
            </summary>
      <value>
            A value indicating whether to throw an exception instead of returning a null reference (Nothing in Visual Basic)
            on certain methods of this <see cref="T:Leadtools.Codecs.RasterCodecs" /> object.
            </value>
      <remarks>
        <para>Some of the methods of this <see cref="T:Leadtools.Codecs.RasterCodecs" /> class will return an object when called.  For example, the
            <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method will return the <see cref="T:Leadtools.RasterImage" /> object created.  If the value of
            <see cref="P:Leadtools.Codecs.RasterCodecs.ThrowExceptionsOnInvalidImages" /> is set to true, then when the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method
            encounters an error and cannot return a valud image, it will throw an appropriate exception.</para>
        <para>Set <see cref="P:Leadtools.Codecs.RasterCodecs.ThrowExceptionsOnInvalidImages" /> to false to cause the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> method to
            return a null reference (Nothing in Visual Basic) instead when it encounters an error and cannot return a valud image</para>
        <para>The following methods will either throw an exception or return a null reference (Nothing in Visual Basic)
            depending on the setting of the <see cref="P:Leadtools.Codecs.RasterCodecs.ThrowExceptionsOnInvalidImages" /> property.</para>
        <para>
          <list type="bullet">
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadMarkers(System.String)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadThumbnail(System.String,Leadtools.Codecs.CodecsThumbnailOptions,System.Int32)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadStamp(System.String,System.Int32)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadTag(System.String,System.Int32,System.Int32)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadGeoKey(System.String,System.Int32,System.Int32)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadComment(System.String,System.Int32,Leadtools.RasterCommentMetadataType)" />
              </description>
            </item>
            <item>
              <description>
                <see cref="M:Leadtools.Codecs.RasterCodecs.ReadExtensions(System.String,System.Int32)" />
              </description>
            </item>
          </list>
        </para>
      </remarks>
      <example>
        <code lang="VB">
Public Sub ThrowExceptionsOnInvalidImagesExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' enable codec exceptions
   codecs.ThrowExceptionsOnInvalidImages = True
   Try
      Dim image As RasterImage = codecs.Load("some non-image file")
   Catch
      Console.WriteLine("exception caught - sample sucess")
   End Try

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void ThrowExceptionsOnInvalidImagesExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // enable codec exceptions
   codecs.ThrowExceptionsOnInvalidImages = true;
   try
   {
      RasterImage image = codecs.Load("some non-image file");
   }
   catch
   {
      Console.WriteLine("exception caught - sample sucess");
   }

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize">
      <summary>
            Gets or sets the size of the buffer used in URI-based load or information operations.
            </summary>
      <value>A value specifying the size of the buffer (in bytes) used in streaming operations.
            The value should be greater or equal to 1. Default value is 4096.</value>
      <remarks>
        <para>The value of the <see cref="P:Leadtools.Codecs.RasterCodecs.UriOperationBufferSize" /> property is used to determine the size of the temporary buffer used
            when streaming image file data using any of the URI-based load or information operations.</para>
        <para>The following methods will use use the value of this property internally to allocate the temporary buffer:
            <list type="bullet"><item><see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.Uri,System.Boolean)">GetInformation(Uri, Boolean)</see></item><item><see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.Uri,System.Boolean,System.Int32)">GetInformation(Uri, Boolean, Int)</see></item><item><see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.Uri)">Load(Uri)</see></item><item><see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.Uri,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)">Load(Uri, Int, CodecsLoadByteOrder, Int, Int)</see></item></list></para>
        <para>The default size of the buffer is 4096 (4 KBytes). This means that the <see cref="T:Leadtools.Codecs.RasterCodecs" /> object will try to load the
            image data in 4 KBytes chunks of data.</para>
        <para>Increasing the buffer size might enhance the performance while also increasing the amount of memory resources used.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.Uri)" />.</example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.RedirectOpen">
      <summary>
            Replaces the normal Leadtools method for opening a file.
            </summary>
      <remarks>
        <para>You can redirect all the toolkit I/O methods to your own I/O methods to load/save images from your own streams.</para>
        <para>To replace the normal method for opening a file, set your own subscribe to this event then call
            the <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> method.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /></example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.RedirectRead">
      <summary>
            Replaces the normal LEADTOOLS method for reading from a file.
            </summary>
      <remarks>
        <para>You can redirect all the toolkit I/O methods to your own I/O methods to load/save images from your own streams.</para>
        <para>To replace the normal method for reading from a file, set your own subscribe to this event then call
            the <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> method.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /></example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.RedirectWrite">
      <summary>
            Replaces the normal LEADTOOLS method for writing to a file.
            </summary>
      <remarks>
        <para>You can redirect all the toolkit I/O methods to your own I/O methods to load/save images from your own streams.</para>
        <para>To replace the normal method for writing to a file, set your own subscribe to this event then call
            the <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> method.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /></example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.RedirectSeek">
      <summary>
            Replaces the normal LEADTOOLS method for seeking into a file.
            </summary>
      <remarks>
        <para>You can redirect all the toolkit I/O methods to your own I/O methods to load/save images from your own streams.</para>
        <para>To replace the normal method for seeking into file, set your own subscribe to this event then call
            the <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> method.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /></example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.RedirectClose">
      <summary>
            Replaces the normal LEADTOOLS method for closing a file.
            </summary>
      <remarks>
        <para>You can redirect all the toolkit I/O methods to your own I/O methods to load/save images from your own streams.</para>
        <para>To replace the normal method for closing a file, set your own subscribe to this event then call
            the <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /> method.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting" /></example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.LoadInformation">
      <summary>
            Occurs during loading of a file for which LEADTOOLS cannot recognize the format.
            </summary>
      <remarks>
        <para>The <see cref="E:Leadtools.Codecs.RasterCodecs.LoadInformation" /> event will occur when LEADTOOLS cannot recognize the image file format during a call to
            <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)" />. This event can be used for loading raw FAX data (CCITT Group 3 or Group 4), raw
            run-length-encoded data (4-bit or 8-bit), raw Bitfield compressed data, raw PackBits compressed data or raw uncompressed
            data.</para>
        <para>To load a raw fax file, you must subscribe to this event first. When the toolkit fails to recognize the image
            file format, it will fire this event. If you know the size of the fax image, then set the values in the
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Width">CodecsLoadInformationEventArgs.Width</see> and
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Height">CodecsLoadInformationEventArgs.Height</see> properties of the 
            <see cref="T:Leadtools.Codecs.CodecsLoadInformationEventArgs" /> passed as the event data. To automatically detect the width and height of the fax
            file, set <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Width">CodecsLoadInformationEventArgs.Width</see> and
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Height">CodecsLoadInformationEventArgs.Height</see> to -1.</para>
        <para>To load raw uncompressed data, you must subscribe to this event first. When the toolkit fails to recognize the image
            file format, it will fire this event. Set the
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Format">CodecsLoadInformationEventArgs.Format</see> property to 
            <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.Raw</see>. Valid values must also be set for the following properties:</para>
        <para>
          <list type="bullet">
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Width">CodecsLoadInformationEventArgs.Width</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Height">CodecsLoadInformationEventArgs.Height</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.BitsPerPixel">CodecsLoadInformationEventArgs.BitsPerPixel</see>
              </description>
            </item>
            <item>
              <description>
                <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Offset">CodecsLoadInformationEventArgs.Offset</see> (byte location in file where raw data begins)</description>
            </item>
          </list>
        </para>
        <para>If each line of RAW data is padded so that the number of bytes is a multiple of 4 (as is the case with raw
            Windows BMP data), set
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Pad4">CodecsLoadInformationEventArgs.Pad4</see> to true. Include an orientation
            in the <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.ViewPerspective">CodecsLoadInformationEventArgs.ViewPerspective</see> to
            load with the proper orientation. For example, raw Windows BMP data is stored with a
            <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see> orientation. If the orientation is
            unknown, then set it to <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see>. If the raw
            data is 8 bits per pixel or less, then the image is palettized and a palette must be generated. If this is the case,
            pass in a valid palette with <c>1 &gt;gt; bits/pixel</c> number of entries to the
            <see cref="M:Leadtools.Codecs.CodecsLoadInformationEventArgs.SetPalette(Leadtools.RasterColor[])">CodecsLoadInformationEventArgs.SetPalette</see> method.</para>
        <para>Set the correct color order in the
            <see cref="P:Leadtools.Codecs.CodecsLoadInformationEventArgs.Order">CodecsLoadInformationEventArgs.Order</see> property.  For example, if the
            order of the data is BGR, then set this value to <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see>.</para>
        <para>For more information, refer to <see cref="T:Leadtools.Codecs.CodecsLoadInformationEventArgs" />.</para>
      </remarks>
      <example>
        <para>This example demonstrates saving and loading raw/headerless image files.</para>
        <code lang="VB">
Private Structure RawData
   Public Width As Integer ' Width of image
   Public Height As Integer ' Height of image
   Public BitsPerPixel As Integer ' Bits per pixel of image--if palettized, a gray palette is generated
   Public ViewPerspective As RasterViewPerspective ' View perspective of raw data (TopLeft, BottomLeft, etc)
   Public Order As RasterByteOrder ' Rgb or Bgr
   Public XResolution As Integer ' Horizontal resolution in DPI
   Public YResolution As Integer ' Vertical resolution in DPI
   Public Offset As Integer ' Offset into file where raw data begins
   Public Padding As Boolean ' true if each line of data is padded to four bytes
   Public ReverseBits As Boolean ' true if the bits of each byte are reversed
End Structure
Private myRawData As RawData

Private Sub codecs_LoadInformation(ByVal sender As Object, ByVal e As CodecsLoadInformationEventArgs)
   ' Set the information
   e.Format = RasterImageFormat.Raw
   e.Width = myRawData.Width
   e.Height = myRawData.Height
   e.BitsPerPixel = myRawData.BitsPerPixel
   e.XResolution = myRawData.XResolution
   e.YResolution = myRawData.YResolution
   e.Offset = myRawData.Offset

   If myRawData.Padding Then
      e.Pad4 = True
   End If

   e.Order = myRawData.Order

   If myRawData.ReverseBits Then
      e.LeastSignificantBitFirst = True
   End If

   e.ViewPerspective = myRawData.ViewPerspective

   ' If image is palettized create a grayscale palette
   If e.BitsPerPixel &lt;= 8 Then
      Dim colors As Integer = 1 &lt;&lt; e.BitsPerPixel
      Dim palette As RasterColor() = New RasterColor(colors - 1) {}
      Dim i As Integer = 0
      Do While i &lt; palette.Length
         Dim val As Byte = CByte((i * 255) / (colors - 1))
         palette(i) = New RasterColor(val, val, val)
         i += 1
      Loop

      e.SetPalette(palette)
   End If
End Sub


Public Sub LoadInformationExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' First, load a JPEG or CMP file
   Dim srcFilename As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim rawFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.raw"
   Dim image As RasterImage = codecs.Load(srcFilename)

   ' Save this image as RAW data

   ' Set RAW options
   codecs.Options.Raw.Save.Pad4 = True
   codecs.Options.Raw.Save.ReverseBits = True
   codecs.Options.Save.OptimizedPalette = True

   codecs.Save(image, rawFileName, RasterImageFormat.Raw, 0)

   ' Save information about this image so we can use it to load the RAW file
   myRawData = New RawData()
   myRawData.Width = image.Width
   myRawData.Height = image.Height
   myRawData.BitsPerPixel = image.BitsPerPixel
   myRawData.ViewPerspective = image.ViewPerspective
   myRawData.Order = image.Order
   myRawData.XResolution = image.XResolution
   myRawData.YResolution = image.YResolution
   myRawData.Offset = 0
   myRawData.Padding = True
   myRawData.ReverseBits = True

   ' We dont need the image anymore
   image.Dispose()

   ' Now load this RAW image back

   ' First subscribe to the LoadInformation event so we can set the image information
   AddHandler codecs.LoadInformation, AddressOf codecs_LoadInformation

   ' Load the image
   image = codecs.Load(rawFileName)

   ' Unsubscribe from the event
   RemoveHandler codecs.LoadInformation, AddressOf codecs_LoadInformation

   ' save it as bmp for testing
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_raw.bmp", RasterImageFormat.Bmp, 0)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
private struct RawData
{
   public int Width;                               // Width of image
   public int Height;                              // Height of image
   public int BitsPerPixel;                        // Bits per pixel of image--if palettized, a gray palette is generated
   public RasterViewPerspective ViewPerspective;   // View perspective of raw data (TopLeft, BottomLeft, etc)
   public RasterByteOrder Order;                   // Rgb or Bgr
   public int XResolution;                         // Horizontal resolution in DPI
   public int YResolution;                         // Vertical resolution in DPI
   public int Offset;                              // Offset into file where raw data begins
   public bool Padding;                            // true if each line of data is padded to four bytes
   public bool ReverseBits;                        // true if the bits of each byte are reversed 
}
private RawData myRawData;

private void codecs_LoadInformation(object sender, CodecsLoadInformationEventArgs e)
{
   // Set the information
   e.Format = RasterImageFormat.Raw;
   e.Width = myRawData.Width;
   e.Height = myRawData.Height;
   e.BitsPerPixel = myRawData.BitsPerPixel;
   e.XResolution = myRawData.XResolution;
   e.YResolution = myRawData.YResolution;
   e.Offset = myRawData.Offset;

   if(myRawData.Padding)
      e.Pad4 = true;

   e.Order = myRawData.Order;

   if(myRawData.ReverseBits)
      e.LeastSignificantBitFirst = true;

   e.ViewPerspective = myRawData.ViewPerspective;

   // If image is palettized create a grayscale palette
   if(e.BitsPerPixel &lt;= 8)
   {
      int colors = 1 &lt;&lt; e.BitsPerPixel;
      RasterColor[] palette = new RasterColor[colors];
      for(int i = 0; i &lt; palette.Length; i++)
      {
         byte val = (byte)((i * 255) / (colors - 1));
         palette[i] = new RasterColor(val, val, val);
      }

      e.SetPalette(palette);
   }
}


public void LoadInformationExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // First, load a JPEG or CMP file
   string srcFilename = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string rawFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.raw";
   RasterImage image = codecs.Load(srcFilename);

   // Save this image as RAW data

   // Set RAW options
   codecs.Options.Raw.Save.Pad4 = true;
   codecs.Options.Raw.Save.ReverseBits = true;
   codecs.Options.Save.OptimizedPalette = true;

   codecs.Save(image, rawFileName, RasterImageFormat.Raw, 0);

   // Save information about this image so we can use it to load the RAW file
   myRawData = new RawData();
   myRawData.Width = image.Width;
   myRawData.Height = image.Height;
   myRawData.BitsPerPixel = image.BitsPerPixel;
   myRawData.ViewPerspective = image.ViewPerspective;
   myRawData.Order = image.Order;
   myRawData.XResolution = image.XResolution;
   myRawData.YResolution = image.YResolution;
   myRawData.Offset = 0;
   myRawData.Padding = true;
   myRawData.ReverseBits = true;

   // We dont need the image anymore
   image.Dispose();

   // Now load this RAW image back

   // First subscribe to the LoadInformation event so we can set the image information
   codecs.LoadInformation += new EventHandler&lt;CodecsLoadInformationEventArgs&gt;(codecs_LoadInformation);

   // Load the image
   image = codecs.Load(rawFileName);

   // Unsubscribe from the event
   codecs.LoadInformation -= new EventHandler&lt;CodecsLoadInformationEventArgs&gt;(codecs_LoadInformation);

   // save it as bmp for testing
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_raw.bmp", RasterImageFormat.Bmp, 0);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.LoadPage">
      <summary>
            Occurs once for each page loaded from an image file.
            </summary>
      <remarks>
            This event will fire once for each page loaded with any of the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> methods.  You can use this event to get
            information about the image pages being loaded or to skip loading certain pages.
            </remarks>
      <example>
        <code lang="VB">
Private Sub Codecs_LoadSavePage(ByVal sender As Object, ByVal e As CodecsPageEventArgs)
   If e.State = CodecsPageEventState.After Then
      Console.WriteLine("The image has been processed")
   Else
      Console.WriteLine("The image has not processed yet")
   End If
   If e.Page &gt; 5 Then
      e.Command = CodecsPageEventCommand.Stop
   End If

   Console.WriteLine("File name is: {0}", e.FileName)
   If Not e.Image Is Nothing Then
      Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
   End If
   Console.WriteLine("Page Index is: {0}", e.Page)
   Console.WriteLine("Page Count is: {0}", e.PageCount)
End Sub


Public Sub LoadPageExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
   AddHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

   Dim image As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp")
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\loadsave.jpg", RasterImageFormat.Jpeg, image.BitsPerPixel)

   RemoveHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
   RemoveHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

   ' Clean up
   codecs.Dispose()
   image.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
private void Codecs_LoadSavePage(object sender, CodecsPageEventArgs e)
{
   if(e.State == CodecsPageEventState.After)
      Console.WriteLine("The image has been processed");
   else
      Console.WriteLine("The image has not processed yet");
   if(e.Page &gt; 5)
      e.Command = CodecsPageEventCommand.Stop;

   Console.WriteLine("File name is: {0}", e.FileName);
   if(e.Image != null)
      Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
   Console.WriteLine("Page Index is: {0}", e.Page);
   Console.WriteLine("Page Count is: {0}", e.PageCount);
}

public void LoadPageExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadPage += new EventHandler&lt;CodecsPageEventArgs&gt;(Codecs_LoadSavePage);
   codecs.SavePage += new EventHandler&lt;CodecsPageEventArgs&gt;(Codecs_LoadSavePage);

   RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp");
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\loadsave.jpg", RasterImageFormat.Jpeg, image.BitsPerPixel);

   codecs.LoadPage -= new EventHandler&lt;CodecsPageEventArgs&gt;(Codecs_LoadSavePage);
   codecs.SavePage -= new EventHandler&lt;CodecsPageEventArgs&gt;(Codecs_LoadSavePage);

   // Clean up
   codecs.Dispose();
   image.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.LoadImage">
      <summary>
            Occurs during the file load process to provide functionality for manually handling the output image data or monitoring a
            progress status.
            </summary>
      <remarks>
            This event will fire during loading images with the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> methods.  You can use this event to get
            information about the image being loaded, manually handle the image scanline data or provide a progress status as well
            as to abort the load operation.
            </remarks>
      <example>
        <code lang="VB">
Private Sub Codecs_LoadImage(ByVal sender As Object, ByVal e As CodecsLoadImageEventArgs)
   e.Cancel = True
   If e.Buffer &lt;&gt; IntPtr.Zero Then
      ' get all properties for the CodecsLoadImageEventArgs class.
      Console.WriteLine("File name is: {0}", e.FileName)
      Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
      Console.WriteLine("The Length of the buffer is: {0}", e.Length)
      Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row)

      If e.OffsetValid Then
         Console.WriteLine("Offset count is : {0}", e.OffsetCount)
         Console.WriteLine("Offset value is : {0}", e.Offset)
      End If

      If e.TileValid Then
         Dim rect As Rectangle = e.Tile
         Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height)
      End If

      Console.WriteLine("Page Index is: {0}", e.Page)
      Console.WriteLine("Page Count is: {0}", e.PageCount)
      Console.WriteLine("Image Page Index is: {0}", e.ImagePage)
      Console.WriteLine("Flags = {0}", e.Flags)

      Dim loadStream As System.IO.Stream = e.Stream
      Dim info As CodecsImageInfo = e.Info
      e.Cancel = False
   End If
End Sub


Public Sub LoadImageExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.LoadImage, AddressOf Codecs_LoadImage
   Dim image As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp")
   RemoveHandler codecs.LoadImage, AddressOf Codecs_LoadImage

   ' Clean up
   codecs.Dispose()
   image.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e)
{
   e.Cancel = true;
   if(e.Buffer != IntPtr.Zero)
   {
      // get all properties for the CodecsLoadImageEventArgs class.
      Console.WriteLine("File name is: {0}", e.FileName);
      Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
      Console.WriteLine("The Length of the buffer is: {0}", e.Length);
      Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row);

      if(e.OffsetValid)
      {
         Console.WriteLine("Offset count is : {0}", e.OffsetCount);
         Console.WriteLine("Offset value is : {0}", e.Offset);
      }

      if(e.TileValid)
      {
         Rectangle rect = e.Tile;
         Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height);
      }

      Console.WriteLine("Page Index is: {0}", e.Page);
      Console.WriteLine("Page Count is: {0}", e.PageCount);
      Console.WriteLine("Image Page Index is: {0}", e.ImagePage);
      Console.WriteLine("Flags = {0}", e.Flags);

      System.IO.Stream loadStream = e.Stream;
      CodecsImageInfo info = e.Info;
      e.Cancel = false;
   }
}

public void LoadImageExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadImage += new EventHandler&lt;CodecsLoadImageEventArgs&gt;(Codecs_LoadImage);
   RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp");
   codecs.LoadImage -= new EventHandler&lt;CodecsLoadImageEventArgs&gt;(Codecs_LoadImage);

   // Clean up
   codecs.Dispose();
   image.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.SavePage">
      <summary>
            Occurs once for each page saved to an image file.
            </summary>
      <remarks>
            This event will fire once for each page save with any of the <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32)" /> methods.  You can use this event to get
            information about the image pages being saved or to skip saving certain pages.
            </remarks>
      <example>
        <para>This example will use the SavePage event to skip a certain page when saving a multipage file</para>
        <code lang="VB">
Public Sub SavePageExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye_SavePage.gif"

   ' Load all the pages in the file
   Dim image As RasterImage = codecs.Load(srcFileName)
   Console.WriteLine("Original image has {0} pages", image.PageCount)

   ' Add a handler to the SavePage event
   AddHandler codecs.SavePage, AddressOf codecs_SavePage

   ' Save all the pages of this file
   codecs.Save(image, destFileName, RasterImageFormat.Gif, 0, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite)

   RemoveHandler codecs.SavePage, AddressOf codecs_SavePage

   ' Check if we saved all pages but 1
   Dim info As CodecsImageInfo = codecs.GetInformation(destFileName, True)
   Console.WriteLine("Info reports {0} pages saved to the file", info.TotalPages)
   Debug.Assert(info.TotalPages = (image.PageCount - 1))

   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Sub codecs_SavePage(ByVal sender As Object, ByVal e As CodecsPageEventArgs)
   If e.State = CodecsPageEventState.Before AndAlso e.Page = 1 Then
      ' Before saving the first page, show the save operation information
      Console.WriteLine("Saving {0} pages to {1}.  Image size is {2} by {3}", e.PageCount - 1, e.FileName, e.Image.Width, e.Image.Height)
   End If

   If e.State = CodecsPageEventState.After Then
      Console.WriteLine("{0} saving page {1}:{2}", "After", e.Page, e.PageCount)
   Else
      Console.WriteLine("{0} saving page {1}:{2}", "Before", e.Page, e.PageCount)
   End If

   ' If this is the 2nd page, ignore it
   If e.Page = 2 AndAlso e.State = CodecsPageEventState.Before Then
      e.Command = CodecsPageEventCommand.Skip
      Console.WriteLine("--- Skipping this page, there should be no 'After' for this one")
   End If
End Sub</code>
        <code lang="CS">
public void SavePageExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye.gif";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Eye_SavePage.gif";

   // Load all the pages in the file
   RasterImage image = codecs.Load(srcFileName);
   Console.WriteLine("Original image has {0} pages", image.PageCount);

   // Add a handler to the SavePage event
   codecs.SavePage += new EventHandler&lt;CodecsPageEventArgs&gt;(codecs_SavePage);

   // Save all the pages of this file
   codecs.Save(image, destFileName, RasterImageFormat.Gif, 0, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite);

   codecs.SavePage -= new EventHandler&lt;CodecsPageEventArgs&gt;(codecs_SavePage);

   // Check if we saved all pages but 1
   CodecsImageInfo info = codecs.GetInformation(destFileName, true);
   Console.WriteLine("Info reports {0} pages saved to the file", info.TotalPages);
   Debug.Assert(info.TotalPages == (image.PageCount - 1));

   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

void codecs_SavePage(object sender, CodecsPageEventArgs e)
{
   if(e.State == CodecsPageEventState.Before &amp;&amp; e.Page == 1)
   {
      // Before saving the first page, show the save operation information
      Console.WriteLine(
         "Saving {0} pages to {1}.  Image size is {2} by {3}",
         e.PageCount - 1, e.FileName, e.Image.Width, e.Image.Height);
   }

   Console.WriteLine("{0} saving page {1}:{2}",
      e.State == CodecsPageEventState.After ? "After" : "Before",
      e.Page, e.PageCount);

   // If this is the 2nd page, ignore it
   if(e.Page == 2 &amp;&amp; e.State == CodecsPageEventState.Before)
   {
      e.Command = CodecsPageEventCommand.Skip;
      Console.WriteLine("--- Skipping this page, there should be no 'After' for this one");
   }
}</code>
      </example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.SaveImage">
      <summary>
            Occurs during the file save process to provide functionality for manually handling the output image data or monitoring a
            progress status.
            </summary>
      <remarks>
            This event will fire during saving images with the <see cref="M:Leadtools.Codecs.RasterCodecs.Save(Leadtools.RasterImage,System.String,Leadtools.RasterImageFormat,System.Int32)" /> methods.  You can use this event to get
            information about the image being saved, manually provide the image scanline data being saved data or provide a progress
            status as well as to abort the save operation.
            </remarks>
      <example>
        <para>This example will double the density of an image as it is being saved.</para>
        <code lang="VB">
Public Sub SaveImageExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim destFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveImage.cmp"

   ' Load the source file (make sure to load as 24 bits/pixel)
   Dim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)

   ' Add a handler to the SaveImage event
   AddHandler codecs.SaveImage, AddressOf codecs_SaveImage

   ' Save the image
   codecs.Save(image, destFileName, RasterImageFormat.Cmp, 24)

   RemoveHandler codecs.SaveImage, AddressOf codecs_SaveImage

   image.Dispose()

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private _saveImageScanLine As Byte()

Private Sub codecs_SaveImage(ByVal sender As Object, ByVal e As CodecsSaveImageEventArgs)
   If e.Row = 0 Then
      ' Show information about the image being saved
      Console.WriteLine("Saving an image with {0} bpp to {1}", e.Image.BitsPerPixel, e.FileName)
      Console.WriteLine("Offset: {0}, OffsetValid: {1}", e.Offset, e.OffsetValid)
      Console.WriteLine("Page: {0} of {1}", e.Page, e.PageCount)
   End If

   Console.WriteLine("Row: {0}, Lines {1}", e.Row, e.Lines)

   ' Get the scanlines from the image
   Dim lastRow As Integer = e.Row + e.Lines
   Dim bytesPerLine As Integer = e.Image.BytesPerLine
   Dim buffer As IntPtr = e.Buffer

   ' See if we need to re-allocate the managed buffer
   If _saveImageScanLine Is Nothing OrElse _saveImageScanLine.Length &lt; bytesPerLine Then
      _saveImageScanLine = New Byte(bytesPerLine - 1) {}
   End If

   Dim y As Integer = e.Row
   Do While y &lt; lastRow
      ' Get the row into the managed buffer
      e.Image.Access()
      e.Image.GetRow(y, _saveImageScanLine, 0, bytesPerLine)
      e.Image.Release()

      ' We got the data, now double the intensity
      ' Remember, this is 24-bits/pixel
      Dim x As Integer = 0
      Do While x &lt; bytesPerLine
         _saveImageScanLine(x) = CType(_saveImageScanLine(x) * 2, Byte)
         x += 1
      Loop

      ' Copy the data into the buffer
      Marshal.Copy(_saveImageScanLine, 0, buffer, bytesPerLine)

      ' Move the pointer to the position in the buffer for the next row
      buffer = New IntPtr(buffer.ToInt64() + bytesPerLine)
      y += 1
   Loop
End Sub</code>
        <code lang="CS">
public void SaveImageExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   string destFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_SaveImage.cmp";

   // Load the source file (make sure to load as 24 bits/pixel)
   RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);

   // Add a handler to the SaveImage event
   codecs.SaveImage += new EventHandler&lt;CodecsSaveImageEventArgs&gt;(codecs_SaveImage);

   // Save the image
   codecs.Save(image, destFileName, RasterImageFormat.Cmp, 24);

   codecs.SaveImage -= new EventHandler&lt;CodecsSaveImageEventArgs&gt;(codecs_SaveImage);

   image.Dispose();

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}

byte[] _saveImageScanLine;

void codecs_SaveImage(object sender, CodecsSaveImageEventArgs e)
{
   if(e.Row == 0)
   {
      // Show information about the image being saved
      Console.WriteLine("Saving an image with {0} bpp to {1}", e.Image.BitsPerPixel, e.FileName);
      Console.WriteLine("Offset: {0}, OffsetValid: {1}", e.Offset, e.OffsetValid);
      Console.WriteLine("Page: {0} of {1}", e.Page, e.PageCount);
   }

   Console.WriteLine("Row: {0}, Lines {1}", e.Row, e.Lines);

   // Get the scanlines from the image
   int lastRow = e.Row + e.Lines;
   int bytesPerLine = e.Image.BytesPerLine;
   IntPtr buffer = e.Buffer;

   // See if we need to re-allocate the managed buffer
   if(_saveImageScanLine == null || _saveImageScanLine.Length &lt; bytesPerLine)
      _saveImageScanLine = new byte[bytesPerLine];

   for(int y = e.Row; y &lt; lastRow; y++)
   {
      // Get the row into the managed buffer
      e.Image.Access();
      e.Image.GetRow(y, _saveImageScanLine, 0, bytesPerLine);
      e.Image.Release();

      // We got the data, now double the intensity
      // Remember, this is 24-bits/pixel
      for(int x = 0; x &lt; bytesPerLine; x++)
         _saveImageScanLine[x] *= 2;

      // Copy the data into the buffer
      Marshal.Copy(_saveImageScanLine, 0, buffer, bytesPerLine);

      // Move the pointer to the position in the buffer for the next row
      buffer = new IntPtr(buffer.ToInt64() + bytesPerLine);
   }
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.IsFeedLoadDone">
      <summary>
            Determines if the feed-load process is done.
            </summary>
      <value>true if the feed-load process is done, otherwise; false.</value>
      <remarks>
            Checking the value of <see cref="P:Leadtools.Codecs.RasterCodecs.IsFeedLoadDone" /> is useful to exit out of the feed-load process when sufficient data has been collected
            to load all the pages requested.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartFeedLoad(System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,System.Int32)" />.
            </example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.TagFound">
      <summary>
            Occurs during the TIFF tag enumerated by the <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" /> method.
            </summary>
      <remarks>
        <para>This event will fire for each tag found in the file as a result of calling <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />.</para>
        <para>Do not attempt to use <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" /> to delete tags from inside this event. If you want to delete tags that
            you enumerate, use this event to add the tags to a list. Upon returning from <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />, you can delete all the
            tags from the list.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumTags(System.String,System.Int32)" />.</example>
    </member>
    <member name="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">
      <summary>
            Occurs once for each GeoKey enumerated by the <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" /> method.
            </summary>
      <remarks>
        <para>This event will fire for each GeoKey found in the file as a result of calling <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />.</para>
        <para>Do not attempt to use <see cref="M:Leadtools.Codecs.RasterCodecs.DeleteTag(System.String,System.Int32,System.Int32)" /> to delete tags from inside this event. If you want to delete tags that
            you enumerate, use this event to add the tags to a list. Upon returning from <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />, you can delete all
            the tags from the list.</para>
      </remarks>
      <example>Refer to <see cref="M:Leadtools.Codecs.RasterCodecs.EnumGeoKeys(System.String,System.Int32)" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.RasterCodecs.LoadStatus">
      <summary>
            Gets a value that allows the detection of whether the image was loaded with errors.
            </summary>
      <value>
        <para>A <see cref="T:Leadtools.RasterExceptionCode" /> which indicates the result of the most recent load operation.</para>
        <para>The most common return values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterExceptionCode">RasterExceptionCode.Success</see>
              </term>
              <description>The image loaded by the last load call does not have any errors.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterExceptionCode">RasterExceptionCode.CompressedDataFailure</see>
              </term>
              <description>There were errors decoding the last image. The bottom part of the image might be corrupted.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterExceptionCode">RasterExceptionCode.BadResyncMarker</see>
              </term>
              <description>Some of the resync markers were incorrect or missing while decoding the last
                  image. Resync markers are used by JPEG files to recover from decoding errors. Portions of
                  the image are corrupted. They are indicated by a checkerboard pattern.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterExceptionCode">RasterExceptionCode.FileRead</see>
              </term>
              <description>The file was truncated. The bottom part of the image is missing.</description>
            </item>
          </list>
        </para>
      </value>
      <remarks>
        <para>An error return code is a warning that portions of the image that was last loaded might be corrupted.</para>
        <para>This property should be called after a load method has been sucessfully called. This value is reset after each page
            is loaded, so if you are loading multiple pages, this error code is valid only for the last page.</para>
        <para>If the last load method threw an exception, then this method should not be used, as its return value is undefined.</para>
        <para>Note that this property is valid for the current thread. So it should be used in the same thread as the load method.</para>
        <para>This is valid for all the methods that will load an image, including <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> and <see cref="M:Leadtools.Codecs.RasterCodecs.FeedLoad(System.Byte[],System.Int32,System.Int32)" />.</para>
      </remarks>
      <example>
        <para>This example will load an image and checks whether the image has corrupted areas</para>
        <code lang="VB">
Private Sub LoadStatusExample(ByVal fileName As String)
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Try
      Dim image As RasterImage = codecs.Load(fileName, 0, CodecsLoadByteOrder.Bgr, 1, 1)
      Dim loadStatusCode As RasterExceptionCode = codecs.LoadStatus
      If loadStatusCode = RasterExceptionCode.Success Then
         Console.WriteLine("The image was loaded successfully and with no errors")
      Else
         Console.WriteLine("The image was loaded, but it might have corrupted areas, error = {0}", loadStatusCode)
      End If

      image.Dispose()
   Catch ex As RasterException
      Console.WriteLine("LEADTOOLS could not load this image, error code is is '{0}', message is '{1}'", ex.Code, ex.Message)
   End Try

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
void LoadStatusExample(string fileName)
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   try
   {
      RasterImage image = codecs.Load(fileName, 0, CodecsLoadByteOrder.Bgr, 1, 1);
      RasterExceptionCode loadStatusCode = codecs.LoadStatus;
      if(loadStatusCode == RasterExceptionCode.Success)
         Console.WriteLine("The image was loaded successfully and with no errors");
      else
         Console.WriteLine("The image was loaded, but it might have corrupted areas, error = {0}", loadStatusCode);

      image.Dispose();
   }
   catch(RasterException ex)
   {
      Console.WriteLine("LEADTOOLS could not load this image, error code is is '{0}', message is '{1}'", ex.Code, ex.Message);
   }

   // Clean up
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsLoadImageFlags">
      <summary>
            Describes whether this is the first or last call of the event, and whether the buffer contains first or last row of image
            data.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.None">
      <summary>
            Default.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.FirstPass">
      <summary>
            This is the first pass through a progressive JPEG or CMP file.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.LastPass">
      <summary>
            This is the last pass through a progressive JPEG or CMP file.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.FirstRow">
      <summary>
            The first row of the buffer is the first row of the image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.LastRow">
      <summary>
            The last row of the buffer is the last row of the image.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsLoadImageFlags.Compressed">
      <summary>
            The data in the buffer is 1-bit compressed data, which you can handle as explained in <see cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</see>.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsLoadImageEventArgs">
      <summary>
            Provides information for the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Image">
      <summary>
            Gets the <see cref="T:Leadtools.RasterImage" /> object into which the image data is being loaded.
            </summary>
      <value>The <see cref="T:Leadtools.RasterImage" /> object into which the image data is being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Page">
      <summary>
            Gets the index of the page currently being loaded.
            </summary>
      <value>The 1-based index of the page currently being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.ImagePage">
      <summary>
            Gets the index of the <see cref="P:Leadtools.RasterImage.Page">RasterImage.Page</see> into which the image data is being loaded.
            </summary>
      <value>The 1-based index of the <see cref="P:Leadtools.RasterImage.Page">RasterImage.Page</see> into which the image
            data is being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.PageCount">
      <summary>
            Gets the total number of pages being loaded.
            </summary>
      <value>The total number of pages being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.FileName">
      <summary>
            Gets the name of the file currently being loaded.
            </summary>
      <value>A <see cref="T:System.String" /> containing the name of the file currently being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Stream">
      <summary>
            Gets the <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Stream" /> associated with the file load process.
            </summary>
      <value>The <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Stream" /> associated with the file load process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.OffsetValid">
      <summary>
            Determines whether the <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Offset" /> property is valid.
            </summary>
      <value>true if the value of the <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Offset" /> property is valid, false if it is being ignored.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Offset">
      <summary>
            Gets the offset in bytes from the beginning of the file at which the image data begins.
            </summary>
      <value>The offset in bytes to the start of the image data.</value>
      <remarks>
        <para>This is only valid if <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.OffsetValid" /> is true.</para>
        <para>This is the same value passed to the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> methods that takes a
            <paramref name="offset" /> parameter</para>.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.OffsetCount">
      <summary>
            Gets the number of bytes that make up the actual image data being loaded.
            </summary>
      <value>The number of bytes that make up the actual image data being loaded.</value>
      <remarks>
        <para>This is only valid if <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.OffsetValid" /> is true.</para>
        <para>This is the same value passed to the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> methods that takes a
            <paramref name="offsetCount" /> parameter</para>.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.TileValid">
      <summary>
            Determines whether the <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Tile" /> property is valid.
            </summary>
      <value>true if the value in the <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Tile" /> property is valid, false if it is being ignored.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Tile">
      <summary>
            Gets the rectangular area of the image being loaded.
            </summary>
      <value>The rectangular area of the image being loaded.</value>
      <remarks>
        <para>This is only valid if <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.OffsetValid" /> is true.</para>
        <para>This is the same value passed to the <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)" /> methods that takes a
            <paramref name="tile" /> parameter</para>.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Cancel">
      <summary>
            Gets or sets a value which allows the user to abort the load process.
            </summary>
      <value>true to abort the load process, false to continue normally.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Info">
      <summary>
            Gets a <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains information about the image file being loaded.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsImageInfo" /> object that contains information about the image file being loaded.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Flags">
      <summary>
            Gets a value which describes whether this is the first or last call of the event, and whether the buffer contains
            first or last row of image data.
            </summary>
      <value>A <see cref="T:Leadtools.Codecs.CodecsLoadImageFlags" /> enumeration combination flags that describe whether this is the first or
            last call of the event, and whether the buffer contains first or last row of image data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Row">
      <summary>
            Gets the current image row number of the first line in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.
            </summary>
      <value>The current image row number of the first line in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Lines">
      <summary>
            Gets the number of lines in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.
            </summary>
      <value>The number of lines in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer">
      <summary>
            Gets a pointer to the unmanaged memory buffer containing one or more lines of output image data.
            </summary>
      <value>A pointer to the unmanaged memory buffer containing one or more lines of output image data. The buffer has
            has already processed (read or decompressed).</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Length">
      <summary>
            Gets the number of bytes in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.
            </summary>
      <value>The number of bytes in <see cref="P:Leadtools.Codecs.CodecsLoadImageEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadImage">RasterCodecs.LoadImage</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsStartDecompressDataType">
      <summary>
            Indicates the data format.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsStartDecompressDataType.Strips">
      <summary>
            Data is in strips.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsStartDecompressDataType.Tiles">
      <summary>
            Data is in tiles.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsStartDecompressOptions">
      <summary>
            Provides information and parameters for the <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see> method.
            </summary>
      <seealso cref="T:Leadtools.Topics.CompressingAndDecompressingBuffers">Compressing and Decompressing Buffers</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsStartDecompressOptions.GetPalette">
      <summary>
            Gets the palette used for uncompressed data that is 8 bits per pixel or less.
            </summary>
      <returns>An array of <see cref="T:Leadtools.RasterColor" /> structures that represents the palette used for uncompressed data that is 8 bits
            per pixel or less.</returns>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsStartDecompressOptions.SetPalette(Leadtools.RasterColor[])">
      <summary>
            Sets the palette used for uncompressed data that is 8 bits per pixel or less.
            </summary>
      <param name="palette">An array of <see cref="T:Leadtools.RasterColor" /> structures that represents the palette used for uncompressed data that is 8 bits
            per pixel or less</param>
      <remarks>
        <para>The toolkit will use the first 2 &gt;&gt; <see cref="P:Leadtools.Codecs.CodecsStartDecompressOptions.BitsPerPixel" /> entries from the palette.</para>
        <para>The <see cref="P:Leadtools.Codecs.CodecsStartDecompressOptions.UsePalette" /> property must be set to true in order for the decompress operation to use the
            palette.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsStartDecompressOptions.GetColorMask">
      <summary>
            Gets an array of integer values that represent RGB color masks.
            </summary>
      <returns>An array of 3 integers as follows: ColorMask[0] is the red mask; ColorMask[1] is the green mask;
            ColorMask[2] is the blue mask.</returns>
      <remarks>
        <para>The color mask is valid only if <see cref="P:Leadtools.Codecs.CodecsStartDecompressOptions.Format" /> is set to <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>.</para>
        <para>As an example, with 16-bit data arranged as RRR RRGG GGGB BBBB, the masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0x7C00
            ColorMask[1] = 0x0E30
            ColorMask[2] = 0x001F
            </pre>
          </code>
        </para>
        <para>For 32-bit data, the only valid data is RRRR RRRR GGGG GGGG BBBB BBBB. The masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0xFF0000
            ColorMask[1] = 0x00FF00
            ColorMask[2] = 0x0000FF
            </pre>
          </code>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsStartDecompressOptions.SetColorMask(System.Int32[])">
      <summary>
            Sets the array of integer values that represent RGB color masks.
            </summary>
      <param name="colorMask">An array of 3 integers as follows: ColorMask[0] is the red mask; ColorMask[1] is the green mask;
            ColorMask[2] is the blue mask.</param>
      <remarks>
        <para>The color mask is valid only if <see cref="P:Leadtools.Codecs.CodecsStartDecompressOptions.Format" /> is set to <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>.</para>
        <para>As an example, with 16-bit data arranged as RRR RRGG GGGB BBBB, the masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0x7C00
            ColorMask[1] = 0x0E30
            ColorMask[2] = 0x001F
            </pre>
          </code>
        </para>
        <para>For 32-bit data, the only valid data is RRRR RRRR GGGG GGGG BBBB BBBB. The masks would be:</para>
        <para>
          <code>
            <pre>
            ColorMask[0] = 0xFF0000
            ColorMask[1] = 0x00FF00
            ColorMask[2] = 0x0000FF
            </pre>
          </code>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.Empty">
      <summary>
            Initializes a new instance of <see cref="T:Leadtools.Codecs.CodecsStartDecompressOptions" /> with empty parameters.
            </summary>
      <value>
            A new instance of <see cref="T:Leadtools.Codecs.CodecsStartDecompressOptions" /> with empty parameters.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.DataType">
      <summary>
            Gets or sets a value indicating whether strips or tiles are being decompressed.
            </summary>
      <value>A value indicating whether strips or tiles are being decompressed.</value>
      <remarks>
            Strips have a width equal to the image width, but tiles can have a width that is less than the image width.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.Format">
      <summary>
            Gets or sets a value indicating the format of the image to decompress.
            </summary>
      <value>
        <para>A <see cref="T:Leadtools.RasterImageFormat" /> value indicating the format of the image to decompress.</para>
        <para>Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.Jpeg</see>
              </term>
              <description>JPEG file</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawRle4</see>
              </term>
              <description>RAW file with RLE compression, 4 bits per pixel</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawRle8</see>
              </term>
              <description>RAW file with RLE compression, 8 bits per pixel</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawBitfields</see>
              </term>
              <description>RAW file with bitfield compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawPackBits</see>
              </term>
              <description>RAW file with packed bits compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawCcitt</see>
              </term>
              <description>RAW file with CCITT compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG31Dim</see>
              </term>
              <description>Fax file with G3 one-dimensional compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG32Dim</see>
              </term>
              <description>Fax file with G3 two-dimensional compression</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.FaxG4</see>
              </term>
              <description>Fax file with G4 compression</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.Width">
      <summary>
            Gets or sets a value indicating the width in pixels of the compressed data image.
            </summary>
      <value>The width in pixels of the compressed data image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.Height">
      <summary>
            Gets or sets a value indicating the height in pixels of the compressed data image.
            </summary>
      <value>The height in pixels of the compressed data image.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.BitsPerPixel">
      <summary>
            Gets or sets a value indicating the bits per pixel of the compressed data
            </summary>
      <value>The bits per pixel of the compressed data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.ViewPerspective">
      <summary>
            Gets or sets a value indicating the view perspective of the compressed data.
            </summary>
      <value>
        <para>A <see cref="T:Leadtools.RasterViewPerspective" /> that indicates the view perspective of the compressed data.</para>
        <para>Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see>
              </term>
              <description>Top-left of image is first in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft90</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see> rotated clockwise by 90 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft180</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see> rotated clockwise by 180 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft270</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see> rotated clockwise by 270 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see>
              </term>
              <description>Bottom-left of image is first in memory</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft90</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see> rotated clockwise by 90 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft180</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see> rotated clockwise by 180 degrees</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft270</see>
              </term>
              <description>
                <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.BottomLeft</see> rotated clockwise by 270 degrees</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.RawOrder">
      <summary>
            Gets or sets a value indicating the color order of 24-bit raw data.
            </summary>
      <value>
        <para>A <see cref="T:Leadtools.RasterByteOrder" /> that indicates the color order of 24-bit raw data.</para>
        <para>This is ignored if the image is palettized. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Rgb</see>
              </term>
              <description>Data is RGB</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see>
              </term>
              <description>Data is BGR</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.LoadOrder">
      <summary>
            Gets or sets a value indicating the color order after a 24-bit image is loaded.
            </summary>
      <value>
        <para>A <see cref="T:Leadtools.RasterByteOrder" /> that indicates the color order after a 24-bit image is loaded.</para>
        <para>This is ignored if the image is palettized. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Rgb</see>
              </term>
              <description>Data is RGB</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterByteOrder">RasterByteOrder.Bgr</see>
              </term>
              <description>Data is BGR</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.XResolution">
      <summary>
            Gets or sets a value indicating the horizontal resolution, in dots per inch of the image data.
            </summary>
      <value>The horizontal resolution, in dots per inch of the image data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.YResolution">
      <summary>
            Gets or sets a value indicating the vertical, in dots per inch of the image data.
            </summary>
      <value>The vertical resolution, in dots per inch of the image data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.LeastSignificantBitFirst">
      <summary>
            Gets or sets a value specifying whether to save the image data with least significant bit first or last.
            </summary>
      <value>true to save to save the image data with least significant bit first (LSB) or last (MSB).</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.Pad4">
      <summary>
            Gets or sets a value indicating whether to save the data padded to 4-byte boundary.
            </summary>
      <value>true to save the data padded to 4-byte boundary, false otherwise.</value>
      <remarks>
            This property is used when saving raw data only.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.UsePalette">
      <summary>
            Gets or sets a value indicating whether to use the palette when saving images to formats that
            require a palette.
            </summary>
      <value>true to use the palette set in <see cref="M:Leadtools.Codecs.CodecsStartDecompressOptions.SetPalette(Leadtools.RasterColor[])" />, false to use the <see cref="T:Leadtools.RasterImage" />'s own palette.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.TiffPhotometricInterpretation">
      <summary>
            Gets or sets the desiired photometric interpretation value for the save process.
            </summary>
      <value>The desiired photometric interpretation value for the save process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsStartDecompressOptions.PlanarConfiguration">
      <summary>
            Gets or sets a value indicating the desired planar configuration for the save process.
            </summary>
      <value>The desired planar configuration for the save process.</value>
      <remarks>
            This value is used only if <see cref="P:Leadtools.Codecs.CodecsStartDecompressOptions.Format" /> is <see cref="T:Leadtools.RasterImageFormat">RasterImageFormat.RawPackBits</see>.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartDecompress(Leadtools.Codecs.CodecsStartDecompressOptions)">RasterCodecs.StartDecompress</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsDecompressDataFlags">
      <summary>
            Indicates the state of the decompression engine.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsDecompressDataFlags.None">
      <summary>
            Undefined.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsDecompressDataFlags.Start">
      <summary>
            Started.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsDecompressDataFlags.End">
      <summary>
            Stopped.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsDecompressDataFlags.Complete">
      <summary>
            Completed.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRtfLoadOptions">
      <summary>
            Provides options specifically for loading RTF files as raster images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.LeftMargin">
      <summary>
            Gets or sets the left margin used when saving RTF images.
            </summary>
      <value>Value that represents the size of the left margin used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.TopMargin">
      <summary>
            Gets or sets the top margin used when saving RTF images.
            </summary>
      <value>Value that represents the size of the top margin used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.RightMargin">
      <summary>
            Gets or sets the right margin used when saving RTF images.
            </summary>
      <value>Value that represents the size of the right margin used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.BottomMargin">
      <summary>
            Gets or sets the bottom margin used when saving RTF images.
            </summary>
      <value>Value that represents the size of the bottom margin used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.PaperWidth">
      <summary>
            Gets or sets the width of the paper used when saving RTF images.
            </summary>
      <value>Value that represents the width of the paper used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfLoadOptions.PaperHeight">
      <summary>
            Gets or sets the height of the paper used when saving RTF images.
            </summary>
      <value>Value that represents the height of the paper used when saving RTF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRtfOptions">
      <summary>
            Provides extra options for loading RTF files as raster images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsRtfOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.rtf"

   ' Setting new options.
   codecs.Options.Rtf.Load.TopMargin = 1.5
   codecs.Options.Rtf.Load.BottomMargin = 1.5
   codecs.Options.Rtf.Load.LeftMargin = 1
   codecs.Options.Rtf.Load.RightMargin = 1

   Dim image As RasterImage = codecs.Load(srcFileName)
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\rtf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsRtfOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.rtf";

   // Setting new options.
   codecs.Options.Rtf.Load.TopMargin = 1.5;
   codecs.Options.Rtf.Load.BottomMargin = 1.5;
   codecs.Options.Rtf.Load.LeftMargin = 1;
   codecs.Options.Rtf.Load.RightMargin = 1;

   RasterImage image = codecs.Load(srcFileName);
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\rtf.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRtfOptions.Load">
      <summary>
            Gets the options for loading RTF files as raster images.
            </summary>
      <value>The RTF load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRtfOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsFpxLoadOptions">
      <summary>
            Gets the options for loading FPX images.
            </summary>
      <value>The FPX load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsFpxOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsFpxLoadOptions.Resolution">
      <summary>
            Gets or sets the resolution to load.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
        <para>Specify 0 for both dimensions to load the default resolution, which is the highest resolution layer, 
            which corresponds to the image with its FULL DIMENSIONS.</para>
        <para>Ex: If the file contains the image at the following dimensions: 800X600, 400X300 and 200X150, then 
            in the default case the codec will load the image at 800X600.</para>
        <para>Specify either the desired width or desired height to load, and use 0 to get the default for the other 
            dimension. The load procedure will determine the closest resolution layer, which best fits the user's 
            request.</para>
        <para>Ex: If the file contains the image at the following dimensions: 800X600, 400X300 and 200X150 and the 
            user requests an image with width equal to 780 for example, then LEADTOOLS will automatically know that 
            the proper width is 800 and load the image at the (800X600) resolution.</para>
        <para>Specify one of the exact sets of dimensions in the file.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsFpxOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsFpxOptions">
      <summary>
            Provides extra options for loading and saving FPX images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsFpxOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.fpx"

   codecs.Options.Fpx.Load.Resolution = New Size(200, 200)
   ' Load the image
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\fpx.bmp", RasterImageFormat.Bmp, 8)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsFpxOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.fpx";

   codecs.Options.Fpx.Load.Resolution = new Size(200, 200);
   // Load the image
   RasterImage srcImage = codecs.Load(srcFileName);

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\fpx.bmp", RasterImageFormat.Bmp, 8);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsFpxOptions.Load">
      <summary>
            Gets the options for loading FPX images.
            </summary>
      <value>
            The options for loading FPX images.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsFpxOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRawSaveOptions">
      <summary>
            Provides options specifically for saving RAW Data images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRawOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRawSaveOptions.ReverseBits">
      <summary>
            Enables or disables reversing the bits.
            </summary>
      <value>true to reverse the bit order when writing CCITT Group 3 and 4 files and RAW uncompressed data, so that the least
            significant bit (LSB) is first.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRawOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRawSaveOptions.Pad4">
      <summary>
            Enables or disables padding the data to a multiple of 4.
            </summary>
      <value>true to save each line padded to a multiple of 4 bytes.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRawOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRawOptions">
      <summary>
            Provides extra options for loading and saving RAW Data images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Private Structure RawData
   Public Width As Integer ' Width of image
   Public Height As Integer ' Height of image
   Public BitsPerPixel As Integer ' Bits per pixel of image--if palettized, a gray palette is generated
   Public ViewPerspective As RasterViewPerspective ' View perspective of raw data (TopLeft, BottomLeft, etc)
   Public Order As RasterByteOrder ' Rgb or Bgr
   Public XResolution As Integer ' Horizontal resolution in DPI
   Public YResolution As Integer ' Vertical resolution in DPI
   Public Offset As Integer ' Offset into file where raw data begins
   Public Padding As Boolean ' true if each line of data is padded to four bytes
   Public ReverseBits As Boolean ' true if the bits of each byte are reversed
End Structure
Private myRawData As RawData

Private Sub codecs_LoadInformation(ByVal sender As Object, ByVal e As CodecsLoadInformationEventArgs)
   ' Set the information
   e.Format = RasterImageFormat.Raw
   e.Width = myRawData.Width
   e.Height = myRawData.Height
   e.BitsPerPixel = myRawData.BitsPerPixel
   e.XResolution = myRawData.XResolution
   e.YResolution = myRawData.YResolution
   e.Offset = myRawData.Offset

   If myRawData.Padding Then
      e.Pad4 = True
   End If

   e.Order = myRawData.Order

   If myRawData.ReverseBits Then
      e.LeastSignificantBitFirst = True
   End If

   e.ViewPerspective = myRawData.ViewPerspective

   ' If image is palettized create a grayscale palette
   If e.BitsPerPixel &lt;= 8 Then
      Dim colors As Integer = 1 &lt;&lt; e.BitsPerPixel
      Dim palette As RasterColor() = New RasterColor(colors - 1) {}
      Dim i As Integer = 0
      Do While i &lt; palette.Length
         Dim val As Byte = CByte((i * 255) / (colors - 1))
         palette(i) = New RasterColor(val, val, val)
         i += 1
      Loop

      e.SetPalette(palette)
   End If
End Sub


Public Sub CodecsRawOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' First, load a JPEG or CMP file
   Dim image As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp")

   ' Save this image as RAW data

   ' Set RAW options
   codecs.Options.Raw.Save.Pad4 = True
   codecs.Options.Raw.Save.ReverseBits = True
   codecs.Options.Save.OptimizedPalette = True

   Dim rawFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Test.raw"
   codecs.Save(image, rawFileName, RasterImageFormat.Raw, 0)

   ' Save information about this image so we can use it to load the RAW file
   myRawData = New RawData()
   myRawData.Width = image.Width
   myRawData.Height = image.Height
   myRawData.BitsPerPixel = image.BitsPerPixel
   myRawData.ViewPerspective = image.ViewPerspective
   myRawData.Order = image.Order
   myRawData.XResolution = image.XResolution
   myRawData.YResolution = image.YResolution
   myRawData.Offset = 0
   myRawData.Padding = True
   myRawData.ReverseBits = True

   ' We dont need the image anymore
   image.Dispose()

   ' Now load this RAW image back

   ' First subscribe to the LoadInformation event so we can set the image information
   AddHandler codecs.LoadInformation, AddressOf codecs_LoadInformation

   ' Load the image
   image = codecs.Load(rawFileName)
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\raw.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)
   ' Unsubscribe from the event
   RemoveHandler codecs.LoadInformation, AddressOf codecs_LoadInformation

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
private struct RawData
{
   public int Width;                               // Width of image
   public int Height;                              // Height of image
   public int BitsPerPixel;                        // Bits per pixel of image--if palettized, a gray palette is generated
   public RasterViewPerspective ViewPerspective;   // View perspective of raw data (TopLeft, BottomLeft, etc)
   public RasterByteOrder Order;                   // Rgb or Bgr
   public int XResolution;                         // Horizontal resolution in DPI
   public int YResolution;                         // Vertical resolution in DPI
   public int Offset;                              // Offset into file where raw data begins
   public bool Padding;                            // true if each line of data is padded to four bytes
   public bool ReverseBits;                        // true if the bits of each byte are reversed 
}
private RawData myRawData;

private void codecs_LoadInformation(object sender, CodecsLoadInformationEventArgs e)
{
   // Set the information
   e.Format = RasterImageFormat.Raw;
   e.Width = myRawData.Width;
   e.Height = myRawData.Height;
   e.BitsPerPixel = myRawData.BitsPerPixel;
   e.XResolution = myRawData.XResolution;
   e.YResolution = myRawData.YResolution;
   e.Offset = myRawData.Offset;

   if (myRawData.Padding)
      e.Pad4 = true;

   e.Order = myRawData.Order;

   if (myRawData.ReverseBits)
      e.LeastSignificantBitFirst = true;

   e.ViewPerspective = myRawData.ViewPerspective;

   // If image is palettized create a grayscale palette
   if (e.BitsPerPixel &lt;= 8)
   {
      int colors = 1 &lt;&lt; e.BitsPerPixel;
      RasterColor[] palette = new RasterColor[colors];
      for (int i = 0; i &lt; palette.Length; i++)
      {
         byte val = (byte)((i * 255) / (colors - 1));
         palette[i] = new RasterColor(val, val, val);
      }

      e.SetPalette(palette);
   }
}


public void CodecsRawOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   // First, load a JPEG or CMP file
   RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp");

   // Save this image as RAW data

   // Set RAW options
   codecs.Options.Raw.Save.Pad4 = true;
   codecs.Options.Raw.Save.ReverseBits = true;
   codecs.Options.Save.OptimizedPalette = true;

   string rawFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Test.raw";
   codecs.Save(image, rawFileName, RasterImageFormat.Raw, 0);

   // Save information about this image so we can use it to load the RAW file
   myRawData = new RawData();
   myRawData.Width = image.Width;
   myRawData.Height = image.Height;
   myRawData.BitsPerPixel = image.BitsPerPixel;
   myRawData.ViewPerspective = image.ViewPerspective;
   myRawData.Order = image.Order;
   myRawData.XResolution = image.XResolution;
   myRawData.YResolution = image.YResolution;
   myRawData.Offset = 0;
   myRawData.Padding = true;
   myRawData.ReverseBits = true;

   // We dont need the image anymore
   image.Dispose();

   // Now load this RAW image back

   // First subscribe to the LoadInformation event so we can set the image information
   codecs.LoadInformation += new EventHandler&lt;CodecsLoadInformationEventArgs&gt;(codecs_LoadInformation);

   // Load the image
   image = codecs.Load(rawFileName);
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\raw.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);
   // Unsubscribe from the event
   codecs.LoadInformation -= new EventHandler&lt;CodecsLoadInformationEventArgs&gt;(codecs_LoadInformation);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRawOptions.Save">
      <summary>
            Gets the options for saving RAW Data images.
            </summary>
      <value>The RAW Data save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsRawOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsOverlayData">
      <summary>
            Contains information about the overlay image found in the file.
            </summary>
      <remarks>
        <para>An <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object is populated and passed as data to the <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" />
            parameter passed to the <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see> method. Some members of this
            class are for input some are for output as follows:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Member</term>
              <description>Description</description>
            </listheader>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.FileName" />
              </term>
              <description>(Input) The name of the file containing the overlay image</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.PageNumber" />
              </term>
              <description>(Input) Page number of the requested overlay image</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" />
              </term>
              <description>(Input) Determines whether overlay image info or actual image is needed</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoWidth" />
              </term>
              <description>(Output) Overlay image width in pixels (Ignore if <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> is false)</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoHeight" />
              </term>
              <description>(Output) Overlay image height in pixels (Ignore if <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> is false)</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoXResolution" />
              </term>
              <description>(Output) Overlay image horizontal resolution in pixels per inch (Ignore if <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> is false)</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoYResolution" />
              </term>
              <description>(Output) Overlay image vertical resolution in pixels per inch (Ignore if <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> is false)</description>
            </item>
            <item>
              <term>
                <see cref="P:Leadtools.Codecs.CodecsOverlayData.Image" />
              </term>
              <description>(Output) The <see cref="T:Leadtools.RasterImage" /> object containing the loaded overlay image (Only <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> is false)</description>
            </item>
          </list>
        </para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsOverlayData.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.FileName">
      <summary>
            Gets the name of the file containing the overlay image.
            </summary>
      <value>The name of the file containing the overlay image.</value>
      <remarks>
            This property is input only.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.PageNumber">
      <summary>
            Gets the page number of the requested overlay image.
            </summary>
      <value>The 1-based index of the page number of the requested overlay image.</value>
      <remarks>
            This property is input only.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.Info">
      <summary>
            Gets a value that determines whether overlay image info or actual image is needed.
            </summary>
      <value>
        <list type="table">
          <listheader>
            <term>Value</term>
            <description>Description</description>
          </listheader>
          <item>
            <term>true</term>
            <description>
                 Only the information about the overlay image is needed. You must now in fill in the 
                 <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoWidth" />, <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoHeight" />, <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoXResolution" /> and <see cref="P:Leadtools.Codecs.CodecsOverlayData.InfoYResolution" />
                 properties of this <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object.
                 </description>
          </item>
          <item>
            <term>false</term>
            <description>
                 The actual overlay image is needed. You must now load the overlay image into the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Image" /> property of this
                 <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object.
                 </description>
          </item>
        </list>
      </value>
      <remarks>
            This property is input only.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.InfoWidth">
      <summary>
            Gets or sets the overlay image width in pixels.
            </summary>
      <value>The overlay image width in pixels. If the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> property of this <see cref="T:Leadtools.Codecs.CodecsOverlayData" />
            object is true, you need to set this property to the overlay image width, otherwise, ignore.</value>
      <remarks>
            This property is output.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.InfoHeight">
      <summary>
            Gets or sets the overlay image height in pixels.
            </summary>
      <value>The overlay image height in pixels. If the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> property of this <see cref="T:Leadtools.Codecs.CodecsOverlayData" />
            object is true, you need to set this property to the overlay image height, otherwise, ignore.</value>
      <remarks>
            This property is output.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.InfoXResolution">
      <summary>
            Gets or sets the overlay image horizontal resolution in pixels per inch.
            </summary>
      <value>The overlay image horizontal resolution in pixels per inch. If the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> property of this
            <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object is true, you need to set this property to the overlay image horizontal resolution,
            otherwise ignore.</value>
      <remarks>
            This property is output.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.InfoYResolution">
      <summary>
            Gets or sets the overlay image vertical resolution in pixels per inch.
            </summary>
      <value>The overlay image vertical resolution in pixels per inch. If the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> property of this
            <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object is true, you need to set this property to the overlay image vertical resolution,
            otherwise ignore.</value>
      <remarks>
            This property is output.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsOverlayData.Image">
      <summary>
            Gets or sets the <see cref="T:Leadtools.RasterImage" /> object containing the loaded overlay image.
            </summary>
      <value>
            The <see cref="T:Leadtools.RasterImage" /> object containing the loaded overlay image. If the <see cref="P:Leadtools.Codecs.CodecsOverlayData.Info" /> property of this
            <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> objet is false, you need to load the overlay image into this property. Otherwise ignore.
            You do not need to call <see cref="M:Leadtools.RasterImage.Dispose" /> on this image. LEADTOOLS will dispose it for you once its done
            overlaying it on the image.
            </value>
      <remarks>
            This property is output.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsOverlayCallback">
      <summary>
            Provides a callback method that gets called when loading a file containing an overlay.
            </summary>
      <param name="data">
            A <see cref="T:Leadtools.Codecs.CodecsOverlayData" /> object that contains information for the callback. Some members of this object are for
            input, some are for output. For more information, refer to <see cref="T:Leadtools.Codecs.CodecsOverlayData" />.
            </param>
      <remarks>
            The <see cref="T:Leadtools.Codecs.CodecsOverlayCallback" /> delegate is passed to
            <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see> to get the overlay image and other information from the
            user when loading a file containing an overlay.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartOverlay(Leadtools.Codecs.CodecsOverlayCallback,Leadtools.Codecs.CodecsOverlayCallbackMode)">RasterCodecs.StartOverlay</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs">
      <summary>
            Provides data for the <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Id">
      <summary>
            Gets the GeoKey ID identifying the GeoTIFF key.
            </summary>
      <value>The GeoKey ID identifying the GeoTIFF key.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.MetadataType">
      <summary>
            Gets the type of GeoKey.
            </summary>
      <value>
        <para>The type of the GeoKey This indicates whether the data pointed to by <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" /> is SHORT, DOUBLE or ASCII.
            Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Int16</see>
              </term>
              <description>Two bytes, unsigned.</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Double</see>
              </term>
              <description>Eight bytes used as a double-precision floating-point number</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Ascii</see>
              </term>
              <description>Byte in the range of 0 to 255. Null-terminated</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Count">
      <summary>
            Gets the number of items in <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" />.
            </summary>
      <value>
            The number of items in the <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" /> buffer. Note that this doesn't describe the number of bytes. For example,
            <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Count" /> is 10 and <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.MetadataType" /> is
            <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Double</see>, you will need 10 x 8 = 80 bytes to read the
            tag data.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data">
      <summary>
            Gets a pointer to the unmanaged memory containing the GeoKey data.
            </summary>
      <value>A pointer to the unmanaged memory containing the GeoKey data.</value>
      <remarks>
            The number of bytes in <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" /> can be obtained by <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.DataLength" />, while the number of items can
            be obtained by <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Count" />.
            </remarks>
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.DataLength">
      <summary>
            Gets the number of bytes in <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" />.
            </summary>
      <value>The number of bytes in the <see cref="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Data" /> buffer.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumGeoKeysEventArgs.Cancel">
      <summary>
            Gets or sets a value which allows the user to abort the enumeration process.
            </summary>
      <value>true to abort the enumeration process, false to continue normally.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.GeoKeyFound">RasterCodecs.GeoKeyFound</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPcdLoadOptions">
      <summary>
            Provides options specifically for loading PCD images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPcdOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPcdLoadOptions.Resolution">
      <summary>
            Gets or sets the resolution to load when loading PCD files.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
            Specifies the resolution of the image to load. You can specify 0 to get the default.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPcdOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPcdOptions">
      <summary>
            Provides extra options for loading and saving PCD images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsPcdOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.pcd"

   ' get the current PCD load resolution
   Dim sz As Size = codecs.Options.Pcd.Load.Resolution
   Console.WriteLine("Before set: {0}", sz)

   ' change it to 100 by 100 pixels
   codecs.Options.Pcd.Load.Resolution = New Size(96, 64)
   sz = codecs.Options.Pcd.Load.Resolution
   Console.WriteLine("After set: {0}", sz)
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\pcd.bmp", RasterImageFormat.Bmp, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsPcdOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.pcd";

   // get the current PCD load resolution
   Size sz = codecs.Options.Pcd.Load.Resolution;
   Console.WriteLine("Before set: {0}", sz);

   // change it to 100 by 100 pixels
   codecs.Options.Pcd.Load.Resolution = new Size(96, 64);
   sz = codecs.Options.Pcd.Load.Resolution;
   Console.WriteLine("After set: {0}", sz);
   RasterImage srcImage = codecs.Load(srcFileName);

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\pcd.bmp", RasterImageFormat.Bmp, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPcdOptions.Load">
      <summary>
            Gets the options for loading PCD images.
            </summary>
      <value>The PCD load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPcdOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsGifLoadOptions">
      <summary>
            Provides options specifically for loading GIF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifLoadOptions.AnimationLoop">
      <summary>
            Gets or sets the animation loop value.
            </summary>
      <value>The animation loop value.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsGifSaveOptions">
      <summary>
            Provides options specifically for saving GIF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsGifSaveOptions.GetAnimationPalette">
      <summary>
            Gets the animation palette to use when saving GIF files.
            </summary>
      <value>An array of <see cref="T:Leadtools.RasterColor" /> object that represents the current animation palette to use when saving
            GIF files.</value>
      <remarks>
        <para>The palette stored in <see cref="M:Leadtools.Codecs.CodecsGifSaveOptions.GetAnimationPalette" /> is only used when the value of <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationPalette" /> is
            set to true.</para>
        <para>Use <see cref="M:Leadtools.Codecs.CodecsGifSaveOptions.SetAnimationPalette(Leadtools.RasterColor[])" /> to change the animation palette to use when saving GIF files.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsGifSaveOptions.SetAnimationPalette(Leadtools.RasterColor[])">
      <summary>
            Sets the animation palette used when saving GIF files.
            </summary>
      <param name="palette">An array of <see cref="T:Leadtools.RasterColor" /> object that represents the current animation palette to
            use when saving GIF files.</param>
      <remarks>
        <para>The palette set with <see cref="M:Leadtools.Codecs.CodecsGifSaveOptions.SetAnimationPalette(Leadtools.RasterColor[])" /> is only used when the value of
            <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationPalette" /> is set to true.</para>
        <para>Use <see cref="M:Leadtools.Codecs.CodecsGifSaveOptions.GetAnimationPalette" /> to get the animation palette to use when saving GIF files.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationPalette">
      <summary>
            Gets or sets a value indicating if the image uses an animation palette.
            </summary>
      <value>true if the image should use an animation palette, otherwise; false.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.Interlaced">
      <summary>
            Gets or sets a value indicating whether to save interlaced GIF files.
            </summary>
      <value>true to save the image interlaced, otherwise; false.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationLoop">
      <summary>
            Gets or sets a value indicating whether to use the animation loop when saving GIF files.
            </summary>
      <value>true to use <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationLoop" /> when saving GIF files, otherwise; fasle.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationLoop">
      <summary>
            Gets or sets the animation loop value to use when saving GIF files.
            </summary>
      <value>The animation loop value to use when saving GIF files.</value>
      <remarks>
        <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationLoop" /> is only used when the value of <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationLoop" /> is set to true.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationWidth">
      <summary>
            Gets or sets the animation width used when saving GIF files.
            </summary>
      <value>The animation width used when saving GIF files.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationHeight">
      <summary>
            Gets or sets the animation height used when saving GIF files.
            </summary>
      <value>The animation height used when saving GIF files.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationBackground">
      <summary>
            Gets or sets a value indicating whether to use the animation background when saving GIF files.
            </summary>
      <value>true to use the <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationBackground" /> value when saving GIF files, otherwise; false.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationBackground">
      <summary>
            Gets or sets the animation background color used when saving GIF files.
            </summary>
      <value>The animation background color used when saving GIF files.</value>
      <remarks>
        <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.AnimationBackground" /> is only used when the value of <see cref="P:Leadtools.Codecs.CodecsGifSaveOptions.UseAnimationBackground" /> is set to true.
            </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsGifOptions">
      <summary>
            Provides extra options for loading and saving GIF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsGifOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif"

   ' Get all Information about the Gif file that you want to load.
   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

   ' set the animation loop value. 
   If imageInfo.Gif.HasAnimationLoop Then
      codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop
      If imageInfo.Gif.AnimationLoop &gt; 10 Then
         codecs.Options.Gif.Save.AnimationLoop = 10
      End If
   End If

   ' if this image that you want to load uses the Animation loop then use it in the save options.
   codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop

   ' if this image that you want to load uses the Animation Background then use it in the save options.
   If imageInfo.Gif.HasAnimationBackground Then
      codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground
   End If

   ' if this image that you want to load uses the Animation Palette then use it in the save options.
   If imageInfo.Gif.HasAnimationPalette Then
      codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette())
   End If

   codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette

   ' if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
   codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced

   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight

   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\gif1.gif", RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

   'change some save options and save the image in a new file.
   codecs.Options.Gif.Save.UseAnimationLoop = True
   codecs.Options.Gif.Save.AnimationLoop = 1
   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100

   'Saving the image after the Gif setting.
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\gif2.gif", RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsGifOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eye.gif";

   // Get all Information about the Gif file that you want to load.
   CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true);

   // set the animation loop value. 
   if (imageInfo.Gif.HasAnimationLoop)
   {
      codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop;
      if (imageInfo.Gif.AnimationLoop &gt; 10)
         codecs.Options.Gif.Save.AnimationLoop = 10;
   }

   // if this image that you want to load uses the Animation loop then use it in the save options.
   codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop;

   // if this image that you want to load uses the Animation Background then use it in the save options.
   if (imageInfo.Gif.HasAnimationBackground)
      codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground;

   // if this image that you want to load uses the Animation Palette then use it in the save options.
   if (imageInfo.Gif.HasAnimationPalette)
      codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette());

   codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette;

   // if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
   codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced;

   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth;
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight;

   RasterImage srcImage = codecs.Load(srcFileName);

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\gif1.gif", RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

   //change some save options and save the image in a new file.
   codecs.Options.Gif.Save.UseAnimationLoop = true;
   codecs.Options.Gif.Save.AnimationLoop = 1;
   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100;
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100;

   //Saving the image after the Gif setting.
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\gif2.gif", RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifOptions.Load">
      <summary>
            Gets the options for loading GIF images.
            </summary>
      <value>The GIF load options.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifOptions.Save">
      <summary>
            Gets the options for saving GIF images.
            </summary>
      <value>The GIF save options.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsGifOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsAbcQualityFactor">
      <summary>
            Indicates the pre-defined quality factor for saving images using LEAD Advanced Bitonal Compression (ABC).
            </summary>
      <remarks>
            For more information and an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" /> and <see cref="T:Leadtools.Topics.CompressionQualityFactors">Compression Quality Factors</see>.
            </remarks>
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Lossless">
      <summary>
            Lossless compression. This option compresses a 1-bit file and maintains image data unchanged. Highest quality.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.LosslessFast">
      <summary>
            Faster lossless compression than <strong>Lossless</strong>. This option compresses a 1-bit file and maintains 
            image data unchanged.  Highest quality.  Does not produce compression ratios as high as 
            <b>Lossless</b>.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.LossyFast">
      <summary>
            Lossy compression.  This is the fastest ABC lossy compression option.  Does not produce compression 
            ratios as high as the other lossy options.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.VirtualLossless">
      <summary>
            Lossy compression. This option removes image noisy pixels and
            compresses it at a smaller file size than <strong>Lossless</strong>.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.RemoveBorder">
      <summary>
            Lossy compression. This option removes image border if it exists
            and compresses it at a smaller file size than <strong>VirtualLossless</strong>.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Enhance">
      <summary>
            Lossy compression. This option cleans up the image, removes its border if it exists and
            compresses it at a smaller file size than <strong>RemoveBorder</strong>.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified1">
      <summary>
            Lossy compression. This option cleans up the image, removes its
            border if it exists and compresses it at a smaller file size than <strong>Enhance</strong>.
            However, it may distort some text or straight lines.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified1Fast">
      <summary>
            Same as <strong>Modified1</strong> without the border remove or image clean processes.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified2">
      <summary>
            Lossy compression. This option cleans up the image, removes its border
            if it exists and compresses it at a smaller file size than <strong>Modified1</strong>.
            However, it may distort some text or straight lines. Maximum compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified2Fast">
      <summary>
            Lossy compression. This option compresses the image at a smaller file size than <strong>Modified1</strong>.
            However, it may distort some text or straight lines. Maximum compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified3">
      <summary>
            Lossy compression. Provdes faster encode and decode speed than <strong>Modified1</strong> or <strong>Modified2</strong>.
            if one exists and compresses it at a smaller file size than <strong>Modified1</strong> or <strong>Modified2</strong>.
            Provides the maximum compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsAbcQualityFactor.Modified3Fast">
      <summary>
            Same as <strong>Modified3</strong> without the border remove or image clean processes.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsAbcLoadOptions">
      <summary>
            Provides options specifically for loading ABC images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsAbcLoadOptions.FastLoad">
      <summary>
            Enables or disables fast loading algorithm for loading ABC images.
            </summary>
      <value>true to enable fast loading algorithm; otherwise, false.</value>
      <remarks>
            Enabling <see cref="P:Leadtools.Codecs.CodecsAbcLoadOptions.FastLoad" /> will result in faster image loads but less image details.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsAbcSaveOptions">
      <summary>
            Provides options specifically for saving ABC images.
            </summary>
      <remarks>
            For information about compression quality factors, refer to <see cref="T:Leadtools.Topics.CompressionQualityFactors">Compression Quality Factors</see>.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsAbcSaveOptions.QualityFactor">
      <summary>
            Gets or sets the quality factor for saving ABC files.
            </summary>
      <value>
            An <see cref="T:Leadtools.Codecs.CodecsAbcQualityFactor" /> enumeration value that specifies the quality factor used when saving ABC files.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsAbcOptions">
      <summary>
            Provides extra options for loading and saving images using LEAD Advanced Bitonal Compression (ABC).
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsAbcOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF"
   ' Load the image
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' save with maximum quality
   codecs.Options.Abc.Save.QualityFactor = CodecsAbcQualityFactor.Lossless
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.abc", RasterImageFormat.Abc, srcImage.BitsPerPixel)

   ' save with maximum compression
   codecs.Options.Abc.Save.QualityFactor = CodecsAbcQualityFactor.Modified2
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.abc", RasterImageFormat.Abc, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsAbcOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF";
   // Load the image
   RasterImage srcImage = codecs.Load(srcFileName);

   // save with maximum quality
   codecs.Options.Abc.Save.QualityFactor = CodecsAbcQualityFactor.Lossless;
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.abc", RasterImageFormat.Abc, srcImage.BitsPerPixel);

   // save with maximum compression
   codecs.Options.Abc.Save.QualityFactor = CodecsAbcQualityFactor.Modified2;
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.abc", RasterImageFormat.Abc, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsAbcOptions.Load">
      <summary>
            Gets the options for loading images using LEAD Advanced Bitonal Compression (ABC).
            </summary>
      <value>The LEAD Advanced Bitonal Compression load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsAbcOptions.Save">
      <summary>
            Gets the options for saving images using LEAD Advanced Bitonal Compression (ABC).
            </summary>
      <value>The LEAD Advanced Bitonal Compression save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsAbcOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRedirectOpenEventArgs">
      <summary>
            Information for the <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectOpen">RasterCodecs.RedirectOpen</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsRedirectOpenEventArgs.#ctor">
      <summary>
            Initializaes a new instance of the <see cref="T:Leadtools.Codecs.CodecsRedirectOpenEventArgs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectOpenEventArgs.FileName">
      <summary>
            Gets the name of the file to be opened.
            </summary>
      <value>A <see cref="T:System.String" /> containing the name of the file to be opened.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectOpenEventArgs.Mode">
      <summary>
            Gets the requested mode that determines how to open or create the file.
            </summary>
      <value>The requested open mode that determines how to open or create the file.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectOpenEventArgs.Access">
      <summary>
            Gets the requested mode that determines how the file can be accessed.
            </summary>
      <value>The requested mode that determines how the file can be accessed.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectOpenEventArgs.Share">
      <summary>
            Gets the requested mode that determines how the file will be shared by processes.
            </summary>
      <value>The requested mode that determines how the file will be shared by processes.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectOpenEventArgs.Success">
      <summary>
            Gets or sets a value indicating that the open operation was successful.
            </summary>
      <value>true to indicate that the open operation was successful, otherwise; false.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRedirectReadEventArgs">
      <summary>
            Information for the <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectRead">RasterCodecs.RedirectRead</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsRedirectReadEventArgs.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsRedirectReadEventArgs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Buffer">
      <summary>
            Gets a pointer to the unmanaged memory buffer into which this read operation should copy the data.
            </summary>
      <value>A pointer to the unmanaged memory buffer into which this read request should copy data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Count">
      <summary>
            Gets the number of bytes that this read operation request.
            </summary>
      <value>The number of bytes that this read operation request and should copied to <see cref="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Read">
      <summary>
            Gets or sets the actual number of bytes that this read operation has copied to <see cref="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Buffer" />.
            </summary>
      <value>The actual number of bytes that this read operation has copied to <see cref="P:Leadtools.Codecs.CodecsRedirectReadEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRedirectWriteEventArgs">
      <summary>
            Information for the <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectWrite">RasterCodecs.RedirectWrite</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsRedirectWriteEventArgs.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsRedirectWriteEventArgs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Buffer">
      <summary>
            Gets a pointer to the unmanaged memory buffer from which this write operation should copy the data.
            </summary>
      <value>A pointer to the unmanaged memory buffer from which this write operation should copy the data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Count">
      <summary>
            Gets the number of bytes that this write operation request.
            </summary>
      <value>The number of bytes that this write operation request and should copied from <see cref="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Written">
      <summary>
            Gets or sets the actual number of bytes that this write operation has copied to <see cref="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Buffer" />.
            </summary>
      <value>The actual number of bytes that this read write operation has copied to <see cref="P:Leadtools.Codecs.CodecsRedirectWriteEventArgs.Buffer" />.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRedirectSeekEventArgs">
      <summary>
            Information for the <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectSeek">RasterCodecs.RedirectSeek</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsRedirectSeekEventArgs.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsRedirectSeekEventArgs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset">
      <summary>
            Gets or sets the byte offset relative to <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" />.
            </summary>
      <value>The byte offset relative to <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" /> this seek operation should move. After the seek operation is done.
            This property should updated with the new offset value.</value>
      <remarks>
            If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is negative, the new position is required to precede the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" />
            by the number of bytes specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" />. If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is zero (0), the new position is required
            to be the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" />. If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is positive, the new position is required to
            follow the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" /> by the number of bytes specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" />.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin">
      <summary>
            Gets a value indicating the reference point used to obtain the new position.
            </summary>
      <value>A <see cref="T:System.IO.SeekOrigin" /> value indicating the reference point used to obtain the new position.</value>
      <remarks>
            If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is negative, the new position is required to precede the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" />
            by the number of bytes specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" />. If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is zero (0), the new position is required
            to be the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" />. If <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" /> is positive, the new position is required to
            follow the position specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Origin" /> by the number of bytes specified by <see cref="P:Leadtools.Codecs.CodecsRedirectSeekEventArgs.Offset" />.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsRedirectCloseEventArgs">
      <summary>
            Information for the <see cref="E:Leadtools.Codecs.RasterCodecs.RedirectClose">RasterCodecs.RedirectClose</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsRedirectCloseEventArgs.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsRedirectCloseEventArgs" /> class.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartRedirecting">RasterCodecs.StartRedirecting</see></example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJpegImageInfo">
      <summary>
            Provides information specific to JPEG and LEAD CMP images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegImageInfo.IsProgressive">
      <summary>
            Determines whether or not the image is progressive.
            </summary>
      <value>true if the image is progressive, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ControllingProgressiveLoadsAndSaves">Controlling Progressive Loads and Saves</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegImageInfo.IsLossless">
      <summary>
            Determines whether or not the image uses lossless JPEG compression.
            </summary>
      <value>true if the image uses lossles JPEG compression, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJpegImageInfo.HasStamp">
      <summary>
            Determines whether or not the image file has a stamp stored.
            </summary>
      <value>true if a stamp image is stored in the image file, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTxtLoadOptions">
      <summary>
            Provides options specifically for loading TEXT files as raster images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Enabled">
      <summary>
            Enables or disables the LEADTOOLS Txt file filter.
            </summary>
      <value>true to enable the LEADTOOLS Txt file filter, false to disable it.</value>
      <remarks>
            When this property is set to false, LEADTOOLS will not attempt to load TEXT files and rasterize them.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.LeftMargin">
      <summary>
            Gets or sets the left margin used when saving TEXT images.
            </summary>
      <value>Value that represents the size of the left margin used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.TopMargin">
      <summary>
            Gets or sets the top margin used when saving TEXT images.
            </summary>
      <value>Value that represents the size of the top margin used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.RightMargin">
      <summary>
            Gets or sets the right margin used when saving TEXT images.
            </summary>
      <value>Value that represents the size of the right margin used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.BottomMargin">
      <summary>
            Gets or sets the bottom margin used when saving TEXT images.
            </summary>
      <value>Value that represents the size of the bottom margin used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.PaperWidth">
      <summary>
            Gets or sets the width of the paper used when saving TEXT images.
            </summary>
      <value>Value that represents the width of the paper used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.PaperHeight">
      <summary>
            Gets or sets the height of the paper used when saving TEXT images.
            </summary>
      <value>Value that represents the height of the paper used when saving TEXT images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.FontColor">
      <summary>
            Gets or sets the text font color.
            </summary>
      <value>The text font color.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Highlight">
      <summary>
            Gets or sets the text highlight color.
            </summary>
      <value>The text highlight color.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.FontSize">
      <summary>
            Gets or sets the text font size.
            </summary>
      <value>The text font size.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.FaceName">
      <summary>
            Gets or sets the text font face name.
            </summary>
      <value>The text font face name.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Bold">
      <summary>
            Indicates whether or not the text font should be bold.
            </summary>
      <value>true to use bold font for the text, false to use normal font.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Italic">
      <summary>
            Indicates whether or not the text font should be italic.
            </summary>
      <value>true to use italic font for the text, false to use normal font.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Underline">
      <summary>
            Indicates whether or not the text font should be underlined.
            </summary>
      <value>true to use underlinded font for the text, false to use normal font.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtLoadOptions.Strikethrough">
      <summary>
            Indicates whether or not the text font should use strikethrough style.
            </summary>
      <value>true to use strikethrough font for the text, false to use normal font.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTxtOptions">
      <summary>
            Provides extra options for loading TEXT files as raster images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsTxtOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.txt"

   ' Setting new options.
   codecs.Options.Txt.Load.TopMargin = 1.5
   codecs.Options.Txt.Load.BottomMargin = 1.5
   codecs.Options.Txt.Load.LeftMargin = 1
   codecs.Options.Txt.Load.RightMargin = 1
   codecs.Options.Txt.Load.FontColor = New RasterColor(255, 0, 0)
   codecs.Options.Txt.Load.FontSize = 12
   codecs.Options.Txt.Load.Bold = True
   codecs.Options.Txt.Load.Enabled = True

   Dim image As RasterImage = codecs.Load(srcFileName)
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\txt.bmp", RasterImageFormat.Bmp, image.BitsPerPixel)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsTxtOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.txt";

   // Setting new options.
   codecs.Options.Txt.Load.TopMargin = 1.5;
   codecs.Options.Txt.Load.BottomMargin = 1.5;
   codecs.Options.Txt.Load.LeftMargin = 1;
   codecs.Options.Txt.Load.RightMargin = 1;
   codecs.Options.Txt.Load.FontColor = new RasterColor(255, 0, 0);
   codecs.Options.Txt.Load.FontSize = 12;
   codecs.Options.Txt.Load.Bold = true;
   codecs.Options.Txt.Load.Enabled = true;

   RasterImage image = codecs.Load(srcFileName);
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\txt.bmp", RasterImageFormat.Bmp, image.BitsPerPixel);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTxtOptions.Load">
      <summary>
            Gets the options for loading TEXT files as raster images.
            </summary>
      <value>The TEXT load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTxtOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJbigLoadOptions">
      <summary>
            Provides options specifically for loading JBIG images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbigOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbigLoadOptions.Resolution">
      <summary>
            Gets or sets the resolution to load.
            </summary>
      <value>The resolution to load.</value>
      <remarks>
        <para>Specify 0 for both dimensions to load the default resolution, which is the highest resolution layer,
            which corresponds to the image with its FULL DIMENSIONS.</para>
        <para>Ex: If the file contains the image at the following dimensions: 800X600, 400X 300 and 200X150, then
            in the default case the codec will load the image at 800X600.</para>
        <para>Specify either the desired width or desired height to load, and use 0 to get the default for the other
            dimension. The load procedure will determine the closest resolution layer, which best fits the user's
            request.</para>
        <para>Ex: If the file contains the image at the following dimensions: 800X600, 400X 300 and 200X150 and the
            user requests an image with width equal to 780 for example, then LEADTOOLS will automatically know that
            the proper width is 800 and load the image at the (800X600) resolution.</para>
        <para>Specify one of the exact sets of dimensions in the file.</para>
      </remarks>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbigOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsJbigOptions">
      <summary>
            Provides extra options for loading and saving JBIG images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsJbigOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' Ex: If the file contains the image 
   ' at the following dimensions: 800X600, 
   ' 400X 300 and 200X150 and the user requests 
   ' an image with width equal to 180 for example, 
   ' then LEADTOOLS will automatically know that the 
   ' proper width is 200 and load the image at the (200X150) resolution.         
   codecs.Options.Jbig.Load.Resolution = New System.Drawing.Size(180, 0)
   Dim sizes As Size() = New Size(2) {}
   sizes(0) = New Size(800, 600)
   sizes(1) = New Size(400, 300)
   sizes(2) = New Size(200, 150)
   codecs.Options.Save.SetResolutions(sizes)
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jbg", RasterImageFormat.Jbig, 8)
   srcImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jbg")

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jbg.bmp", RasterImageFormat.Bmp, 1)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsJbigOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   RasterImage srcImage = codecs.Load(srcFileName);

   // Ex: If the file contains the image 
   // at the following dimensions: 800X600, 
   // 400X 300 and 200X150 and the user requests 
   // an image with width equal to 180 for example, 
   // then LEADTOOLS will automatically know that the 
   // proper width is 200 and load the image at the (200X150) resolution.         
   codecs.Options.Jbig.Load.Resolution = new System.Drawing.Size(180, 0);
   Size[] sizes = new Size[3];
   sizes[0] = new Size(800,600);
   sizes[1] = new Size(400,300);
   sizes[2] = new Size(200,150);
   codecs.Options.Save.SetResolutions(sizes);
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jbg", RasterImageFormat.Jbig, 8);
   srcImage = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1_test.jbg");

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\jbg.bmp", RasterImageFormat.Bmp, 1);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsJbigOptions.Load">
      <summary>
            Gets the options for loading JBIG images.
            </summary>
      <value>The JBIG load options.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingJbigFeatures">Implementing JBIG Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsJbigOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEnumTagsEventArgs">
      <summary>
            Provides data for the <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.Id">
      <summary>
            Gets the tag id.
            </summary>
      <value>Tag to identify the data in the TIFF file. This may be any tag specified in
            <see cref="M:Leadtools.Codecs.RasterCodecs.WriteTag(System.String,System.Int32,Leadtools.RasterTagMetadata)">RasterCodecs.WriteTag</see>, or any other tag added by the TIFF filter when saving
            the file. For example, all of the TIFF comments would generate a particular TIFF tag.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.MetadataType">
      <summary>
            Gets the tagged data type.
            </summary>
      <value>
        <para>The tagged data type. Valid values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Byte</see>
              </term>
              <description>Byte</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Ascii</see>
              </term>
              <description>Byte in the range of 0 to 255</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.SByte</see>
              </term>
              <description>Byte used as signed number in the range of -128 to +127</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Undefined</see>
              </term>
              <description>Byte, with application-defined usage</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.UInt16</see>
              </term>
              <description>Two bytes, unsigned</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Int16</see>
              </term>
              <description>Two bytes, signed</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.UInt32</see>
              </term>
              <description>Four bytes, unsigned</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Int32</see>
              </term>
              <description>Four bytes, signed</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Single</see>
              </term>
              <description>Four bytes used as a floating point number</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Double</see>
              </term>
              <description>Eight bytes used as a double-precision floating point number</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.URational</see>
              </term>
              <description>Eight bytes, used as a pair of unsigned long integers, where the first number is the numerator and the
                 second is the denominator of a fraction</description>
            </item>
            <item>
              <term>
                <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Rational</see>
              </term>
              <description>Eight bytes, used as a pair of signed long integers, where the first number is the numerator and the
                 second is the denominator of a fraction</description>
            </item>
          </list>
        </para>
      </value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.Count">
      <summary>
            Gets the number of elements.
            </summary>
      <value>The number of elements of type <see cref="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.MetadataType" />. Note that this is not the same as the number of bytes. For
            example, if <see cref="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.Count" />is 10 and <see cref="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.MetadataType" /> is <see cref="T:Leadtools.RasterTagMetadataDataType">RasterTagMetadataDataType.Int32</see>, you
            will need 10 x 4 = 40 bytes to read the tag data</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEnumTagsEventArgs.Cancel">
      <summary>
            Gets or sets a value which allows the user to abort the enumeration process.
            </summary>
      <value>true to abort the enumeration process, false to continue normally.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.TagFound">RasterCodecs.TagFound</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPngLoadOptions">
      <summary>
            Provides options specifically for loading PNG images.
            </summary>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsPngLoadOptions.GetTrnsChunk">
      <summary>
            Gets the alpha transform chunk of the PNG file.
            </summary>
      <returns>An array of bytes that represents the alpha transform chunk of the PNG file.</returns>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsPngLoadOptions.SetTrnsChunk(System.Byte[])">
      <summary>
            Sets the alpha transform chunk of the PNG file.
            </summary>
      <param name="chunk">An array of bytes that represents the alpha transform chunk of the PNG file.</param>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPngSaveOptions">
      <summary>
            Provides options specifically for saving PNG images.
            </summary>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <remarks>
            For information about compression quality factors, refer to <see cref="T:Leadtools.Topics.CompressionQualityFactors">Compression Quality Factors</see>.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPngSaveOptions.QualityFactor">
      <summary>
            Gets and sets the Quality Factor for saving PNG files.
            </summary>
      <value>Any value betwee 0 and 9. 0 = (default compression), 1 (fastest compression) ... 9 (highest compression ratio).</value>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPngOptions">
      <summary>
            Provides extra options for loading and saving PNG images.
            </summary>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsPngOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' save with maximum quality
   codecs.Options.Png.Save.QualityFactor = 1
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.png", RasterImageFormat.Png, image.BitsPerPixel)

   ' save with maximum compression
   codecs.Options.Png.Save.QualityFactor = 9
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.png", RasterImageFormat.Png, image.BitsPerPixel)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsPngOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   RasterImage image = codecs.Load(srcFileName);

   // save with maximum quality
   codecs.Options.Png.Save.QualityFactor = 1;
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.png", RasterImageFormat.Png, image.BitsPerPixel);

   // save with maximum compression
   codecs.Options.Png.Save.QualityFactor = 9;
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.png", RasterImageFormat.Png, image.BitsPerPixel);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPngOptions.Load">
      <summary>
            Gets the options for loading PNG images.
            </summary>
      <value>The PNG load options.</value>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPngOptions.Save">
      <summary>
            Gets the options for saving PNG images.
            </summary>
      <value>The PNG save options.</value>
      <seealso cref="T:Leadtools.Topics.PNGFilesAndTransparency">PNG Files and Transparency</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPngOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEpsLoadOptions">
      <summary>
            Provides options specifically for loading EPS images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEpsOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEpsLoadOptions.ForceThumbnail">
      <summary>
            Enables or disables the loading of thumbnails from EPS files.
            </summary>
      <value>true to force the loading of thumbnails (if present) in EPS files, false to load the actual EPS data.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEpsOptions">
      <summary>
            Provides extra options for loading and saving EPS images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsEpsOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp"
   ' Load the image
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\test.eps", RasterImageFormat.Eps, 8)
   srcImage.Dispose()
   codecs.Options.Eps.Load.ForceThumbnail = True
   srcImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\test.eps")
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eps.bmp", RasterImageFormat.Bmp, 8)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsEpsOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.cmp";
   // Load the image
   RasterImage srcImage = codecs.Load(srcFileName);

   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\test.eps", RasterImageFormat.Eps, 8);
   srcImage.Dispose();
   codecs.Options.Eps.Load.ForceThumbnail = true;
   srcImage = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\test.eps");
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\eps.bmp", RasterImageFormat.Bmp, 8);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEpsOptions.Load">
      <summary>
            Gets the options for loading EPS images.
            </summary>
      <value>The EPS load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEpsOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEcwSaveOptions">
      <summary>
            Provides options specifically for saving ECW images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEcwOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEcwSaveOptions.QualityFactor">
      <summary>
            Gets or sets the quality factor for saving ECW files.
            </summary>
      <value>
            An integer value between 1 and 100 that specifies the quality factor used when saving ECW files where
            1 is maximum quality and 100 is maximum compression.  Default value is 1.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEcwOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsEcwOptions">
      <summary>
            Provides extra options for loading and saving ECW images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsEcwOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF"
   ' Load the image
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' save with maximum quality
   codecs.Options.Ecw.Save.QualityFactor = 1
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.ecw", RasterImageFormat.Ecw, srcImage.BitsPerPixel)

   ' save with maximum compression
   codecs.Options.Ecw.Save.QualityFactor = 100
   codecs.Save(srcImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.ecw", RasterImageFormat.Ecw, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsEcwOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF";
   // Load the image
   RasterImage srcImage = codecs.Load(srcFileName);

   // save with maximum quality
   codecs.Options.Ecw.Save.QualityFactor = 1;
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\quality.ecw", RasterImageFormat.Ecw, srcImage.BitsPerPixel);

   // save with maximum compression
   codecs.Options.Ecw.Save.QualityFactor = 100;
   codecs.Save(srcImage, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\compression.ecw", RasterImageFormat.Ecw, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsEcwOptions.Save">
      <summary>
            Gets the options for saving ECW images.
            </summary>
      <value>The ECW save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsEcwOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsGifImageInfo">
      <summary>
            Provides information specific to GIF images.
            </summary>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsGifImageInfo.GetAnimationPalette">
      <summary>
            Gets the animation palette.
            </summary>
      <value>The animation palette.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.HasAnimationLoop">
      <summary>
            Determines whether or not the image has animation looping.
            </summary>
      <value>true if the image has animation looping, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.AnimationLoop">
      <summary>
            Determines whether or not the image has animation looping enabled.
            </summary>
      <value>non-zero if the image has animation looping enabled, zero otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.AnimationWidth">
      <summary>
            Gets the animation width.
            </summary>
      <value>The animation width, in pixels.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.AnimationHeight">
      <summary>
            Gets the animation height.
            </summary>
      <value>The animation height, in pixels.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.HasAnimationBackground">
      <summary>
            Determines whether or not the image has animation background.
            </summary>
      <value>true if the image has animation background, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.AnimationBackground">
      <summary>
            Gets the animation background.
            </summary>
      <value>The animation background.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.HasAnimationPalette">
      <summary>
            Determines whether or not the image has animation palette.
            </summary>
      <value>true if the image has animation palette, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsGifImageInfo.IsInterlaced">
      <summary>
            Determines whether or not the image is interlaced.
            </summary>
      <value>true if the image is interlaced, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.ImplementingGIFFeatures">Implementing GIF Features</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsColorSpaceType">
      <summary>
            Indicates the colorspace of the image data
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsColorSpaceType.Bgr">
      <summary>
            BGR colorspace
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsColorSpaceType.Yuv">
      <summary>
            YUV colorspace
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsColorSpaceType.Cmyk">
      <summary>
            CMYK colorspace
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsColorSpaceType.CieLab">
      <summary>
            CIELab colorspace
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsFaxImageInfo">
      <summary>
            Provides information specific to FAX images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsFaxImageInfo.IsCompressed">
      <summary>
            Determines whether or not the image is compressed.
            </summary>
      <value>true if the image is compressed, false otherwise.</value>
      <seealso cref="T:Leadtools.Topics.SpeedingUp1BitDocuments">Speeding Up 1-Bit Documents</seealso>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPsdImageInfo">
      <summary>
            Provides information specific to PSD images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdImageInfo.Layers">
      <summary>
            Gets the number of layers in the PSD file.
            </summary>
      <value>An integer value that represents the number of layers in the PSD file.</value>
      <remarks>
        <para>If this value is 0, then the PSD file does not contain any layers.</para>
        <para>For more information on PSD layers, refer to the FILE FORMATS SPECIFICATION from Adobe.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsImageInfo" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsCodecLoadMode">
      <summary>
            The handling mode for a file codec.
            </summary>
      <remarks>
        <para>LEADTOOLS maintains a list of codecs used for querying for the file information.</para>
        <para>Fixed codecs are never unloaded from the list. This makes the file detection of file formats very fast.</para>
        <para>Dynamic codecs are dynamically unloaded when the number of loaded codecs exceeds the number set through
            <see cref="M:Leadtools.Codecs.RasterCodecs.PreloadCodecs(System.Int32,System.Int32,System.String)">RasterCodecs.PreloadCodecs</see>.</para>
        <para>Ignored codecs will never be used. You cannot load, save or obtain information on file formats normally handled by a
            codec that is ignored.</para>
        <para>Once you save or load a file handled by a certain codec, that codec will be permanently loaded into memory. From that
            point on, setting the codecs load mode has no effect.</para>
      </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCodecLoadMode.Dynamic">
      <summary>
            The codec is dynamically loaded and freed as necessary.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCodecLoadMode.Fixed">
      <summary>
            The codec is loaded into memory and will never be unloaded. (This makes the file handling very fast).
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCodecLoadMode.Ignored">
      <summary>
            The codec is ignored. You cannot load, save or get the file information for any files normally handled this codec.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsCodecInformation">
      <summary>
            Provides information about a Leadtools file codec.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsCodecInformation.ToString">
      <summary>
            Returns the value of the <see cref="P:Leadtools.Codecs.CodecsCodecInformation.Name" /> property.
            </summary>
      <returns>The value of the <see cref="P:Leadtools.Codecs.CodecsCodecInformation.Name" /> property.</returns>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.Name">
      <summary>
            Gets the codec assembly file name.
            </summary>
      <value>A string containing the codec assembly file name.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.ExtensionList">
      <summary>
            Gets or sets the list of extensions that the Leadtools codec supports.
            </summary>
      <value>A string containing the list of extensions that the Leadtools codec supports. Each extension is separated by the
            ";" character.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.IsPresent">
      <summary>
            Determines whether or not the Leadtools codec is present on the system.
            </summary>
      <value>true if the codec is present on the system, false otherwise.</value>
      <noremarks />
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.LoadMode">
      <summary>
            Gets and sets the load mode for the Leadtools codec.
            </summary>
      <value>The load mode for the Leadtools codec.</value>
      <remarks>
            Affects the behvaior of <see cref="M:Leadtools.Codecs.RasterCodecs.Load(System.String)">RasterCodecs.Load</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)">RasterCodecs.GetInformation</see>. This can be one of three values:
            Ignored (do not use this codec), Fixed (this codec is always loaded), Dynamic (this codec is load when needed, and unloaded
            when finished).
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.CheckedByInformation">
      <summary>
            Identifies if a particular file codec is used when processing a call to <see cref="M:Leadtools.Codecs.RasterCodecs.GetInformation(System.String,System.Boolean)">RasterCodecs.GetInformation</see>.
            </summary>
      <value>true if the filter codec is used, false otherwise.</value>
      <remarks>
            A call to has three phases used in identifying a file format.  The first phase checks the first few bytes.  The second
            phase checks the file extension.  The third phase tries all available codec filters. When this value is 'false', the
            corresponding file codec is excluded from all phases.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsCodecInformation.IsSlowInformation">
      <summary>
            Identifies if a particular file codec has been marked as taking a relatively long time to load a file.
            </summary>
      <value>true if the codec takes a long time to load a file, false otherwise.</value>
      <remarks>
            Value that indicates if the codec takes a long time to load.  There are three phases used in identifying a file format.
            The first phase checks the first few bytes.  The second phase checks the file extension.  The third phase tries all
            available codec filters. When this value is 'true', it means that the file format can not be identified by looking at the
            first few bytes of the file.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.GetCodecInformation(System.String)">RasterCodecs.GetCodecInformation</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTiffLoadOptions">
      <summary>
            Provides options specifically for loading TIFF images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffLoadOptions.ImageFileDirectoryOffset">
      <summary>
            Gets or sets the offset within a TIFF file where a page starts.
            </summary>
      <value>The offset within a TIFF file where the page starts.</value>
      <remarks>
        <para>This serves as a reference page for loading pages from a large TIFF file.</para>
        <para>The value of the <see cref="P:Leadtools.Codecs.CodecsTiffLoadOptions.UseImageFileDirectoryOffset" /> must be set to true in order for the toolkit to use
            the <see cref="P:Leadtools.Codecs.CodecsTiffLoadOptions.ImageFileDirectoryOffset" /> value when loading TIFF images.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffLoadOptions.UseImageFileDirectoryOffset">
      <summary>
            Enables or disables using the IFD offset.
            </summary>
      <value>true to use the <see cref="P:Leadtools.Codecs.CodecsTiffLoadOptions.ImageFileDirectoryOffset" /> when loading TIFF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffLoadOptions.IgnoreViewPerspective">
      <summary>
            Indicates whether or not to ignore the view perspective stored in the file.
            </summary>
      <value>true to load the file as <see cref="T:Leadtools.RasterViewPerspective">RasterViewPerspective.TopLeft</see>.</value>
      <remarks>
            If you are loading a TIFF or Exif file that looks rotated or flipped, try setting this property before loading the file.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffLoadOptions.IgnorePhotometricInterpretation">
      <summary>
            Enables or disables loading Flash-Pix files without the color transforms.
            </summary>
      <value>true to ignore the color transforms.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffLoadOptions.UseFastConversion">
      <summary>
            Enables or disables use of the fast color conversions when loading CMYK or CIELab files.
            </summary>
      <value>true to enable fast color conversion, false to disable it.</value>
      <remarks>
            Setting this property to true will greatly speed up the loading of CMYK and CIELab files,
            but it will reduce the image quality.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTiffSaveOptions">
      <summary>
            Provides options specifically for saving TIFF images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.NoSubFileType">
      <summary>
            Enables or disables writing a subfile type TIFF tag when writing any TIFF file.
            </summary>
      <value>
            true to prevent writing a subfile type TIFF tag when writing any TIFF file.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.NoPageNumber">
      <summary>
            Enables or disables updating the PageNumber tag associated with the pages of a multipage TIFF file.
            </summary>
      <value>
            true to disable updating the PageNumber tag associated with the pages of a multipage TIFF file.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.NoPalette">
      <summary>
            Enables or disables saving a TIFF file as grayscale, without a palette.
            </summary>
      <value>
            true to save a TIFF file as grayscale, without a palette.
            </value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseImageFileDirectoryOffset">
      <summary>
            Enables or disables using the IFD offset.
            </summary>
      <value>true to use the <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset" /> value when saving TIFF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset">
      <summary>
            Gets or sets the offset within a TIFF file where a page starts.
            </summary>
      <value>The offset within a TIFF file where the page starts.</value>
      <remarks>
        <para>This serves as a reference page for saving pages from a large TIFF file.</para>
        <para>The value of the <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseImageFileDirectoryOffset" /> must be set to true in order for the toolkit to use
            the <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.ImageFileDirectoryOffset" /> value when saving TIFF images.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.UsePhotometricInterpretation">
      <summary>
            Enables or disables using Photometric Interpretation when saving TIFF files.
            </summary>
      <value>true to use Photometric Interpretation when saving TIFF files.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.PhotometricInterpretation">
      <summary>
            Gets or sets the Photometric Interpretation.
            </summary>
      <value>The Photometric Interpretation.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseTileSize">
      <summary>
            Enables and disables using the tile size when saving TIFF images.
            </summary>
      <value>true to use <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> and <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> when saving TIFF images.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth">
      <summary>
            Gets or sets the width of the tile to use when saving TIFF files.
            </summary>
      <value>The width of the tile to use when saving TIFF files.</value>
      <remarks>
        <para>When saving TIFF files, the size of the tiles or strips saved in the file can be controlled. Some graphic packages
            cannot load TIFF files unless the files are saved with a certain tile or strip size. LEADTOOLS can load files of any strip
            and tile size, so modifying these settings is not necessary when saving files that will be loaded with LEADTOOLS.</para>
        <para>If the <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseTileSize" /> Property is not true, then <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> and <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> are
            ignored. In this case, the image will be saved like in the previous versions of LEADTOOLS.</para>
        <para>If <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> is less than or equal to the image width, the image will be saved as tiles. If
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> is greater than the image width, the image will be saved as strips.  If the image is saved as
            tiles, <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> controls the height of the tile. If the image is saved as strips, <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" />
            controls the height of the strip. The image can be saved as one strip by setting <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> to a value
            greater than the image height.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight">
      <summary>
            Gets or sets the height of the tile to use when saving TIFF files.
            </summary>
      <value>The height of the tile to use when saving TIFF files.</value>
      <remarks>
        <para>When saving TIFF files, the size of the tiles or strips saved in the file can be controlled. Some graphic packages
            cannot load TIFF files unless the files are saved with a certain tile or strip size. LEADTOOLS can load files of any strip
            and tile size, so modifying these settings is not necessary when saving files that will be loaded with LEADTOOLS.</para>
        <para>If the <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.UseTileSize" /> Property is not true, then <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> and <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> are
            ignored. In this case, the image will be saved like in the previous versions of LEADTOOLS.</para>
        <para>If <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> is less than or equal to the image width, the image will be saved as tiles. If
            <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileWidth" /> is greater than the image width, the image will be saved as strips.  If the image is saved as
            tiles, <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> controls the height of the tile. If the image is saved as strips, <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" />
            controls the height of the strip. The image can be saved as one strip by setting <see cref="P:Leadtools.Codecs.CodecsTiffSaveOptions.TileHeight" /> to a value
            greater than the image height.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.PreservePalette">
      <summary>
            Enables and disables preservation of the palette when saving TIFF CCITT files.
            </summary>
      <value>true to enable preservation of the palette when saving TIFF CCITT files.</value>
      <remarks>
            Note, this may decrease the compression ratio.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.UsePredictor">
      <summary>
            Gets a value indicating whether to use a predictor when saving LZW data.
            </summary>
      <value>true to use a predictor when saving LZW data; otherwise, false.</value>
      <remarks>
            This is for TIF LZW or Raw LZW data that is 8 bpp or more.  This property is ignored if the LZW data is less than 8 bpp.
            </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.SavePlanar">
      <summary>
            Gets a value indicating whether to save CMYK TIFF data as planar.
            </summary>
      <value>true to save CMYK TIFF data as planar; otherwise, false.</value>
      <remarks>
            This is for CMYK TIFF images.  This property is ignored for other formats/colorspaces.
            </remarks>
      <seealso cref="T:Leadtools.Topics.HandlingCMYKFilesAsSeparateBitmaps">Handling CMYK Files as Separate Images</seealso>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffSaveOptions.NoLzwAutoClear">
      <summary>
            Gets a value indicating whether to automatically insert CLEAR codes during LZW compression.
            </summary>
      <value>true to disable insert of CLEAR codes; otherwise, false.</value>
      <remarks>
        <para>This option can be used when saving TIFF LZW files.  To save files compatible with some buggy LZW decoders that cannot
            handle early CLEAR codes. Some IBM decoders are known to have this problem.  They will not decode LEAD TIFF LZW files
            unless this property is set to true.</para>
        <para>This property is set to false by default, which allows LEADTOOLS to insert CLEAR LZW codes and reset the LZW 
            compression engine if the compression ratio is not adequate.</para>
      </remarks>
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsTiffOptions">
      <summary>
            Provides extra options for loading and saving TIFF images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsTiffOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF"

   ' Get all Information about the Tiff file that you want to load.
   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

   If imageInfo.Tiff.IsImageFileDirectoryOffsetValid Then
      codecs.Options.Tiff.Load.ImageFileDirectoryOffset = imageInfo.Tiff.ImageFileDirectoryOffset
      codecs.Options.Tiff.Save.ImageFileDirectoryOffset = imageInfo.Tiff.ImageFileDirectoryOffset
   End If

   codecs.Options.Tiff.Load.UseImageFileDirectoryOffset = imageInfo.Tiff.IsImageFileDirectoryOffsetValid
   codecs.Options.Tiff.Save.UseImageFileDirectoryOffset = imageInfo.Tiff.IsImageFileDirectoryOffsetValid

   codecs.Options.Tiff.Load.IgnorePhotometricInterpretation = True

   Dim image As RasterImage = codecs.Load(srcFileName)

   codecs.Options.Tiff.Save.NoPalette = imageInfo.Tiff.HasNoPalette
   codecs.Options.Tiff.Save.PreservePalette = imageInfo.Tiff.HasNoPalette

   'Set the tiffSave options
   codecs.Options.Tiff.Save.NoPageNumber = False
   codecs.Options.Tiff.Save.NoSubFileType = False
   codecs.Options.Tiff.Save.UsePhotometricInterpretation = True
   codecs.Options.Tiff.Save.PhotometricInterpretation = CodecsTiffPhotometricInterpretation.YcbCr
   codecs.Options.Tiff.Save.UseTileSize = True
   codecs.Options.Tiff.Save.TileHeight = 200
   codecs.Options.Tiff.Save.TileWidth = 200

   'saving the image
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\testtiff1.TIF", RasterImageFormat.Tif, image.BitsPerPixel, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite)

   'change some tiffsave options.
   codecs.Options.Tiff.Save.NoPageNumber = True
   codecs.Options.Tiff.Save.NoSubFileType = True
   codecs.Options.Tiff.Save.UsePhotometricInterpretation = False
   codecs.Options.Tiff.Save.UseTileSize = False
   codecs.Options.Tiff.Save.NoPalette = False
   codecs.Options.Tiff.Save.PreservePalette = True
   codecs.Options.Tiff.Save.PhotometricInterpretation = CodecsTiffPhotometricInterpretation.Palette

   'save the image with different name.
   codecs.Save(image, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\testtiff2.TIF", RasterImageFormat.CcittGroup4, image.BitsPerPixel, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsTiffOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\OCR1.TIF";

   // Get all Information about the Tiff file that you want to load.
   CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true);

   if (imageInfo.Tiff.IsImageFileDirectoryOffsetValid)
   {
      codecs.Options.Tiff.Load.ImageFileDirectoryOffset = imageInfo.Tiff.ImageFileDirectoryOffset;
      codecs.Options.Tiff.Save.ImageFileDirectoryOffset = imageInfo.Tiff.ImageFileDirectoryOffset;
   }

   codecs.Options.Tiff.Load.UseImageFileDirectoryOffset = imageInfo.Tiff.IsImageFileDirectoryOffsetValid;
   codecs.Options.Tiff.Save.UseImageFileDirectoryOffset = imageInfo.Tiff.IsImageFileDirectoryOffsetValid;

   codecs.Options.Tiff.Load.IgnorePhotometricInterpretation = true;

   RasterImage image = codecs.Load(srcFileName);

   codecs.Options.Tiff.Save.NoPalette = imageInfo.Tiff.HasNoPalette;
   codecs.Options.Tiff.Save.PreservePalette = imageInfo.Tiff.HasNoPalette;

   //Set the tiffSave options
   codecs.Options.Tiff.Save.NoPageNumber = false;
   codecs.Options.Tiff.Save.NoSubFileType = false;
   codecs.Options.Tiff.Save.UsePhotometricInterpretation = true;
   codecs.Options.Tiff.Save.PhotometricInterpretation = CodecsTiffPhotometricInterpretation.YcbCr;
   codecs.Options.Tiff.Save.UseTileSize = true;
   codecs.Options.Tiff.Save.TileHeight = 200;
   codecs.Options.Tiff.Save.TileWidth = 200;

   //saving the image
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\testtiff1.TIF", RasterImageFormat.Tif, image.BitsPerPixel, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite);

   //change some tiffsave options.
   codecs.Options.Tiff.Save.NoPageNumber = true;
   codecs.Options.Tiff.Save.NoSubFileType = true;
   codecs.Options.Tiff.Save.UsePhotometricInterpretation = false;
   codecs.Options.Tiff.Save.UseTileSize = false;
   codecs.Options.Tiff.Save.NoPalette = false;
   codecs.Options.Tiff.Save.PreservePalette = true;
   codecs.Options.Tiff.Save.PhotometricInterpretation = CodecsTiffPhotometricInterpretation.Palette;

   //save the image with different name.
   codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\testtiff2.TIF", RasterImageFormat.CcittGroup4, image.BitsPerPixel, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffOptions.Load">
      <summary>
            Gets the options for loading TIFF images.
            </summary>
      <value>The TIFF load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsTiffOptions.Save">
      <summary>
            Gets the options for saving TIFF images.
            </summary>
      <value>The TIFF save options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsTiffOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPtokaLoadOptions">
      <summary>
            Provides options specifically for loading PTOKA images.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPtokaOptions" />.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPtokaLoadOptions.Resolution">
      <summary>
            Gets or sets the resolution (DPI) to load.
            </summary>
      <value>The resolution (DPI) to load.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPtokaOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPtokaOptions">
      <summary>
            Provides extra options for loading and saving PTOKA images.
            </summary>
      <noremarks />
      <example>
        <code lang="VB">
Public Sub CodecsPtokaOptionsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.ptk"

   ' Setting new options.
   codecs.Options.Ptoka.Load.Resolution = 500

   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Clean up
   image.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub</code>
        <code lang="CS">
public void CodecsPtokaOptionsExample()
{
   RasterCodecs.Startup();
   RasterCodecs codecs = new RasterCodecs();

   string srcFileName = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.ptk";

   // Setting new options.
   codecs.Options.Ptoka.Load.Resolution = 500;

   RasterImage image = codecs.Load(srcFileName);

   // Clean up
   image.Dispose();
   codecs.Dispose();
   RasterCodecs.Shutdown();
}</code>
      </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPtokaOptions.Load">
      <summary>
            Gets the options for loading PTOKA images.
            </summary>
      <value>The PTOKA load options.</value>
      <noremarks />
      <example>For an example, refer to <see cref="T:Leadtools.Codecs.CodecsPtokaOptions" />.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPsdLayerInfo">
      <summary>
            Describes the layer position within a PSD file.
            </summary>
      <remarks>
            For more information on PSD layers, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsPsdLayerInfo.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /> class.
            </summary>
      <noremarks />
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsPsdLayerInfo.GetBlendModeKey">
      <summary>
            Gets the blend mode key for the layer.
            </summary>
      <value>
        <para>A four byte character array that represents the blend mode key for the layer. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>'norm'</term>
              <description>Normal.</description>
            </item>
            <item>
              <term>'dark'</term>
              <description>Darken.</description>
            </item>
            <item>
              <term>'lite'</term>
              <description>Lighten.</description>
            </item>
            <item>
              <term>'hue '</term>
              <description>Hue.</description>
            </item>
            <item>
              <term>'sat '</term>
              <description>Saturation.</description>
            </item>
            <item>
              <term>'colr'</term>
              <description>Color.</description>
            </item>
            <item>
              <term>'lum '</term>
              <description>Luminosity.</description>
            </item>
            <item>
              <term>'mul '</term>
              <description>Multiply.</description>
            </item>
            <item>
              <term>'scrn'</term>
              <description>Screen.</description>
            </item>
            <item>
              <term>'diss'</term>
              <description>Dissolve.</description>
            </item>
            <item>
              <term>'over'</term>
              <description>Overlay.</description>
            </item>
            <item>
              <term>'hLit'</term>
              <description>Hard light.</description>
            </item>
            <item>
              <term>sLit'</term>
              <description>Soft light.</description>
            </item>
            <item>
              <term>'diff'</term>
              <description>Difference.</description>
            </item>
            <item>
              <term>'smud'</term>
              <description>Exclusion.</description>
            </item>
            <item>
              <term>'div '</term>
              <description>Dodge.</description>
            </item>
            <item>
              <term>'idiv'</term>
              <description>Color burn.</description>
            </item>
          </list>
        </para>
      </value>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="M:Leadtools.Codecs.CodecsPsdLayerInfo.SetBlendModeKey(System.Byte[])">
      <summary>
            Sets the blend mode key for the layer.
            </summary>
      <param name="blendModeKey">
        <para>A four byte character array that represents the blend mode key for the layer. Possible values are:</para>
        <para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term>'norm'</term>
              <description>Normal.</description>
            </item>
            <item>
              <term>'dark'</term>
              <description>Darken.</description>
            </item>
            <item>
              <term>'lite'</term>
              <description>Lighten.</description>
            </item>
            <item>
              <term>'hue '</term>
              <description>Hue.</description>
            </item>
            <item>
              <term>'sat '</term>
              <description>Saturation.</description>
            </item>
            <item>
              <term>'colr'</term>
              <description>Color.</description>
            </item>
            <item>
              <term>'lum '</term>
              <description>Luminosity.</description>
            </item>
            <item>
              <term>'mul '</term>
              <description>Multiply.</description>
            </item>
            <item>
              <term>'scrn'</term>
              <description>Screen.</description>
            </item>
            <item>
              <term>'diss'</term>
              <description>Dissolve.</description>
            </item>
            <item>
              <term>'over'</term>
              <description>Overlay.</description>
            </item>
            <item>
              <term>'hLit'</term>
              <description>Hard light.</description>
            </item>
            <item>
              <term>sLit'</term>
              <description>Soft light.</description>
            </item>
            <item>
              <term>'diff'</term>
              <description>Difference.</description>
            </item>
            <item>
              <term>'smud'</term>
              <description>Exclusion.</description>
            </item>
            <item>
              <term>'div '</term>
              <description>Dodge.</description>
            </item>
            <item>
              <term>'idiv'</term>
              <description>Color burn.</description>
            </item>
          </list>
        </para>
      </param>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.Left">
      <summary>
            Left layer position.
            </summary>
      <value>An integer value that represents the left postion of this <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /></value>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.Top">
      <summary>
            Top layer position.
            </summary>
      <value>An integer value that represents the top postion of this <see cref="T:Leadtools.Codecs.CodecsPsdLayerInfo" /></value>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.Opacity">
      <summary>
            Opacity value of the layer.
            </summary>
      <value>Possible values are between 0 and 255, where a value of 0 is completely transparent and a value of 255 is
            completely opaque.</value>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.Clipping">
      <summary>
            Clipping value for the layer.
            </summary>
      <value>A value of 0 represents base. A value of 1 represents non-base.</value>
      <remarks>
            For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
            </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.LoadMaskImage">
      <summary>
            Determines whether to load the mask image when loading PSD files with <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see>.
            </summary>
      <value>true load to load the mask image when loading PSD files with <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see>;
            otherwise, false.</value>
      <remarks>
        <para>When tha value of this property is true and you call <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see>
            to load a PSD file, then the transparency mask channel image will bei in the <see cref="P:Leadtools.Codecs.CodecsPsdLayerInfo.MaskImage" /> property.</para>
        <para>This property is not used when calling <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>
            to save a PSD file.</para>
        <para>Default value is true.</para>
        <para>For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.</para>
      </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.MaskImage">
      <summary>
            The transparency mask channel of the saved PSD layer.
            </summary>
      <value>A <see cref="T:Leadtools.RasterImage" /> object that specifies the transparency mask channel of the saved PSD layer.</value>
      <remarks>
        <para>This is an 8-bit grayscale image. The value of each pixel indicates the amount of transparency the data
            of the original image has at this point. For example, if the value is 0xFF at a certain point, the pixel value
            of the layer image at that point is not transparent at all. If the value was 0x00, the pixel value of the
            layer image at that point is fully transparent. If the value is between these two, it indicates the degree of
            transparency the pixel value of the layer image has at that point.</para>
        <para>When loading, if you set the <see cref="P:Leadtools.Codecs.CodecsPsdLayerInfo.LoadMaskImage" /> property to true, then this property will hold an
            <see cref="T:Leadtools.RasterImage" /> object that represents the transparency mask channel found in the PSD file.</para>
        <para>If the mask image does not need to be loaded, pass false to <see cref="P:Leadtools.Codecs.CodecsPsdLayerInfo.LoadMaskImage" />.  The value of
            <see cref="P:Leadtools.Codecs.CodecsPsdLayerInfo.MaskImage" /> will not be used.  Passing false to <see cref="P:Leadtools.Codecs.CodecsPsdLayerInfo.LoadMaskImage" /> saves the transparency mask
            as full white image, which represents full visibility of the layer.</para>
        <para>When saving, if this is a valid image, then it should be of the same width and height as the corresponding
            layer image. It should also be an 8-bit grayscale image.</para>
        <para>For more information, refer to FILE FORMATS SPECIFICATION from Adobe.</para>
      </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPsdLayerInfo.Name">
      <summary>
            Gets or sets the name for the layer.
            </summary>
      <value>A <see cref="T:System.String" /> which contains the name for the layer.</value>
      <remarks>
        <para>The layer name will be stored in the file.  The maximum size for this string is 256 characters.</para>
        <para>For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.</para>
      </remarks>
      <example>
            For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.LoadPsdLayer(System.String,System.Int32,Leadtools.Codecs.CodecsLoadByteOrder,System.Int32,Leadtools.Codecs.CodecsPsdLayerInfo)">RasterCodecs.LoadPsdLayer</see> and
            <see cref="M:Leadtools.Codecs.RasterCodecs.SavePsdWithLayers(Leadtools.RasterImage,System.String,System.Int32,Leadtools.RasterImage,Leadtools.Codecs.CodecsPsdLayerInfo[])">RasterCodecs.SavePsdWithLayers</see>.
            </example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPageEventCommand">
      <summary>
            Indicates the action to take regarding the load/save operation.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsPageEventCommand.Continue">
      <summary>
            Continue normally.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPageEventCommand.Skip">
      <summary>
            Skip the current page.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPageEventCommand.Stop">
      <summary>
            Abort the process.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPageEventState">
      <summary>
            Indicates the state of the page load/save process.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsPageEventState.Before">
      <summary>
            The page is about to be processed.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsPageEventState.After">
      <summary>
            The page has been processed.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsPageEventArgs">
      <summary>
            Provides information for the <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see> event.
            </summary>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.Image">
      <summary>
            Gets the object being loaded from the image file page or the image that is being saved.
            </summary>
      <value>A <see cref="T:Leadtools.RasterImage" /> that specifies the object being loaded from the image file page or the image that
            is being saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.Page">
      <summary>
            Gets the page number of the image being loaded or saved.
            </summary>
      <value>The 1-based index page number of the image being loaded or saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.PageCount">
      <summary>
            Gets the number of pages being loaded or saved.
            </summary>
      <value>The number of pages being loaded or saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.FileName">
      <summary>
            Gets the name of the file being loaded or saved.
            </summary>
      <value>The name of the file being loaded or saved.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.State">
      <summary>
            Gets the state of the load or save process.
            </summary>
      <value>The state of the load or save process.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="P:Leadtools.Codecs.CodecsPageEventArgs.Command">
      <summary>
            Gets or sets a value indicating how the load or save process should continue.
            </summary>
      <value>A value indicating how the load or save process should continue.</value>
      <noremarks />
      <example>For an example, refer to <see cref="E:Leadtools.Codecs.RasterCodecs.LoadPage">RasterCodecs.LoadPage</see>.</example>
    </member>
    <member name="T:Leadtools.Codecs.CodecsCompression">
      <summary>
            Indicates the compression type.
            </summary>
      <noremarks />
      <noexample />
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Cmp">
      <summary>
            LEAD CMP.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Jpeg444">
      <summary>
            JPEG 4:4:4.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TifJpeg444">
      <summary>
            TIFF with JPEG 4:4:4.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Jpeg411">
      <summary>
            JPEG 4:1:1.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TifJpeg411">
      <summary>
            TIFF with JPEG 4:1:1.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Jpeg422">
      <summary>
            JPEG 4:2:2.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TifJpeg422">
      <summary>
            TIFF with JPEG 4:2:2.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Lead0">
      <summary>
            LEAD 1 bit, lossless compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.Lead1">
      <summary>
            LEAD 1 bit, excellent compression.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TiffCcitt">
      <summary>
            TIFF CCITT.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TiffCcittG3Fax1Dim">
      <summary>
            CCITT Group 3 one dimensional.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TiffCcittG3Fax2Dim">
      <summary>
            CCITT Group 3 two dimensional.
            </summary>
    </member>
    <member name="F:Leadtools.Codecs.CodecsCompression.TiffCcittG4Fax">
      <summary>
            CCITT Group 4 two dimensional.
            </summary>
    </member>
    <member name="T:Leadtools.Codecs.CodecsCompressDataCallback">
      <summary>
            Provides a callback method that gets called when compressed data is available.
            </summary>
      <param name="width">The image being compressed width in pixels.</param>
      <param name="height">The image being compressed height in pixels.</param>
      <param name="bitsPerPixel">The image being compressed bits/pixel value.</param>
      <param name="order">The image being compressed byte order.</param>
      <param name="viewPerspective">The image being compressed view perspective value.</param>
      <param name="data">A pointer to unmanaged memory buffer containing compressed data.</param>
      <param name="dataLength">The number of bytes in <paramref name="data" />.</param>
      <returns>true to continue compressing the data, false to abort.</returns>
      <remarks>
            The <see cref="T:Leadtools.Codecs.CodecsCompressDataCallback" /> delegate is passed to
            <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)">RasterCodecs.StartCompress</see> and will get called compressed data is available.
            </remarks>
      <example>For an example, refer to <see cref="M:Leadtools.Codecs.RasterCodecs.StartCompress(System.Int32,System.Int32,System.Int32,Leadtools.RasterByteOrder,Leadtools.RasterViewPerspective,System.Int32,System.Byte[],System.Int32,System.Int32,Leadtools.Codecs.CodecsCompression,Leadtools.Codecs.CodecsCompressDataCallback)">RasterCodecs.StartCompress</see>.</example>
    </member>
  </members>
</doc>