LibTiff.Net provides interfaces to image data at several layers of abstraction (and cost). At the highest level image data can be read into an 8-bit/sample, RGBA pixel raster format without regard for the underlying data organization, colorspace, or compression scheme. Below this high-level interface the library provides scanline-, strip-, and tile-oriented interfaces that return data decompressed but otherwise untransformed. These interfaces require that the application first identify the organization of stored data and select either a strip-based or tile-based API for manipulating data. At the lowest level the library provides access to the raw uncompressed strips or tiles, returning the data exactly as it appears in the file.
The material presented in this chapter is a basic introduction to the capabilities of the library; it is not an attempt to describe everything a developer needs to know about the library or about TIFF. Detailed information on the API is given in the documentation for Tiff namespace.
This chapter also contains both parts of the "Graphics programming with libtiff" tutorial by Michael Still rewritten to reflect differences between libtiff and LibTiff.Net.