0 out of 1 rated this helpful - Rate this topic

TiffBitmapDecoder Class

Defines a decoder for Tagged Image File Format (TIFF) encoded images.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.Media.Imaging.BitmapDecoder
      System.Windows.Media.Imaging.TiffBitmapDecoder

Namespace:  System.Windows.Media.Imaging
Assembly:  PresentationCore (in PresentationCore.dll)
public sealed class TiffBitmapDecoder : BitmapDecoder

The TiffBitmapDecoder type exposes the following members.

  Name Description
Public method TiffBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption) Initializes a new instance of the TiffBitmapDecoder class from the specified file stream, with the specified createOptions and cacheOption.
Public method TiffBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption) Initializes a new instance of the TiffBitmapDecoder class from the specified Uri, with the specified createOptions and cacheOption.
Top
  Name Description
Public property CodecInfo Gets information that describes this codec. (Inherited from BitmapDecoder.)
Public property ColorContexts Gets a value that represents the color profile associated with a bitmap, if one is defined. (Inherited from BitmapDecoder.)
Public property Dispatcher Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.)
Public property Frames Gets the content of an individual frame within a bitmap. (Inherited from BitmapDecoder.)
Public property IsDownloading Gets a value that indicates if the decoder is currently downloading content. (Inherited from BitmapDecoder.)
Public property Metadata Gets an instance of BitmapMetadata that represents the global metadata associated with this bitmap, if metadata is defined. (Inherited from BitmapDecoder.)
Public property Palette Gets the BitmapPalette associated with this decoder. (Inherited from BitmapDecoder.)
Public property Preview Gets a BitmapSource that represents the global preview of this bitmap, if one is defined. (Inherited from BitmapDecoder.)
Public property Thumbnail Gets a BitmapSource that represents the thumbnail of the bitmap, if one is defined. (Inherited from BitmapDecoder.)
Top
  Name Description
Public method CheckAccess Determines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Public method CreateInPlaceBitmapMetadataWriter Creates an instance of InPlaceBitmapMetadataWriter, which can be used to update the metadata of a bitmap. (Inherited from BitmapDecoder.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Frees resources and performs other cleanup operations before the BitmapDecoder is reclaimed by garbage collection. (Inherited from BitmapDecoder.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Converts the current value of a BitmapDecoder to a String. (Inherited from BitmapDecoder.)
Public method VerifyAccess Enforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Top
  Name Description
Public event DownloadCompleted Occurs when a BitmapDecoder has finished downloading bitmap content. (Inherited from BitmapDecoder.)
Public event DownloadFailed Occurs when bitmap content failed to download. (Inherited from BitmapDecoder.)
Public event DownloadProgress Occurs when a BitmapDecoder has made progress downloading bitmap content. (Inherited from BitmapDecoder.)
Top

The following examples show how to decode and encode a Tagged Image File Format (TIFF) image using the specific TiffBitmapDecoder and TiffBitmapEncoder objects.

This example demonstrates how to decode a TIFF image using a TiffBitmapDecoder from a Uri.



// Open a Stream and decode a TIFF image
Stream imageStreamSource = new FileStream("tulipfarm.tif", FileMode.Open, FileAccess.Read, FileShare.Read);
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];

// Draw the Image
Image myImage = new Image();
myImage.Source = bitmapSource;
myImage.Stretch = Stretch.None;
myImage.Margin = new Thickness(20);


This example demonstrates how to encode a BitmapSource into a TIFF image using a TiffBitmapEncoder.


            int width = 128;
            int height = width;
            int stride = width / 8;
            byte[] pixels = new byte[height * stride];

            // Define the image palette
            BitmapPalette myPalette = BitmapPalettes.WebPalette;

            // Creates a new empty image with the pre-defined palette

            BitmapSource image = BitmapSource.Create(
                width,
                height,
                96,
                96,
                PixelFormats.Indexed1,
                myPalette,
                pixels,
                stride);

            FileStream stream = new FileStream("new.tif", FileMode.Create);
            TiffBitmapEncoder encoder = new TiffBitmapEncoder();
            TextBlock myTextBlock = new TextBlock();
            myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
            encoder.Compression = TiffCompressOption.Zip;
            encoder.Frames.Add(BitmapFrame.Create(image));
            encoder.Save(stream);



.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ