| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?xml version="1.0" encoding="utf-8"?>
- <?xml-stylesheet type="text/xsl" href="../Xsl/doc2html.xsl"?>
- <doc>
- <title>Tagged Image File Format</title>
- <chapter>
- <title>Tagged Image File Format</title>
- <par>
- 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.
- </par>
- <par>
- 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 <icode>{$DEFINE DONT_LINK_TIFF}</icode>
- line in in <ref>ImagingExtras.pas</ref> unit.
- </par>
-
- <par>
- Native Object Pascal TIFF support is planned for some future Imaging release.
- </par>
-
- <table>
- <title>Tagged Image File Format File Format Support</title>
- <row>
- <th>Format</th>
- <th>TImageFormat equivalent</th>
- <th>Loading</th>
- <th>Saving</th>
- </row>
- <row>
- <td>8 bit indexed</td>
- <td><icode>ifIndex8</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>24 bit RGB</td>
- <td><icode>ifR8G8B8</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>48 bit RGB</td>
- <td><icode>ifR16G16B16</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>32 bit ARGB</td>
- <td><icode>ifA8R8G8B8</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>64 bit ARGB</td>
- <td><icode>ifA16R16G16B16</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>8 bit grayscale</td>
- <td><icode>ifGray8</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>16 bit grayscale</td>
- <td><icode>ifGray16</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>16 bit grayscale + alpha</td>
- <td><icode>ifA8Gray8</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>32 bit grayscale + alpha</td>
- <td><icode>ifA16Gray16</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>32 bit grayscale</td>
- <td><icode>ifGray32</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>16 bit R FP16</td>
- <td><icode>ifR16F</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>64 bit ARGB FP16</td>
- <td><icode>ifA16R16G16B16F</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>32 bit R FP32</td>
- <td><icode>ifR32F</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>128 bit ARGB FP32</td>
- <td><icode>ifA32B32G32R32F</icode></td>
- <td>Yes</td><td>Yes</td>
- </row>
- <row>
- <td>other types</td>
- <td><icode>depends on type</icode></td>
- <td>Yes/No</td><td>No</td>
- </row>
- </table>
- </chapter>
- </doc>
|