TIFF is a flexible and adaptable file format. It can handle multiple images and data in a single file through the inclusion of "tags" in the file header. Tags can indicate the basic geometry of the image, such as its size, or define how the image data is arranged and whether various image compression options are used. For example, TIFF can be used as a container for JPEG and RLE compressed images. The ability to store image data in a lossless format makes TIFF files a useful method for archiving images. Other TIFF file options include multiple layers or pages.
Currently Imaging uses LibTiff C library to load and save TIFFs.
It can read and write most types of TIFF files.
But it is currently available only in Delphi (uses LibTiffDelphi object files)
and it can make your compiled binaries quite big (almost 400 KiB size increase
when compiled with TIFF support).
If you don't need TIFF support and want smaller exe instead you
can disable it by uncommenting {$DEFINE DONT_LINK_TIFF}
line in in ImagingExtras.pas unit.
Native Object Pascal TIFF support is planned for some future Imaging release.
Tagged Image File Format File Format SupportFormat | TImageFormat equivalent | Loading | Saving |
---|---|---|---|
8 bit indexed |
ifIndex8
| Yes | Yes |
24 bit RGB |
ifR8G8B8
| Yes | Yes |
48 bit RGB |
ifR16G16B16
| Yes | Yes |
32 bit ARGB |
ifA8R8G8B8
| Yes | Yes |
64 bit ARGB |
ifA16R16G16B16
| Yes | Yes |
8 bit grayscale |
ifGray8
| Yes | Yes |
16 bit grayscale |
ifGray16
| Yes | Yes |
16 bit grayscale + alpha |
ifA8Gray8
| Yes | Yes |
32 bit grayscale + alpha |
ifA16Gray16
| Yes | Yes |
32 bit grayscale |
ifGray32
| Yes | Yes |
16 bit R FP16 |
ifR16F
| Yes | Yes |
64 bit ARGB FP16 |
ifA16R16G16B16F
| Yes | Yes |
32 bit R FP32 |
ifR32F
| Yes | Yes |
128 bit ARGB FP32 |
ifA32B32G32R32F
| Yes | Yes |
other types |
depends on type
| Yes/No | No |