< prev index next >
src/java.desktop/share/classes/javax/imageio/metadata/doc-files/tiff_metadata.html
Print this page
rev 55470 : 8225372: accessibility errors in tables in java.desktop files
Reviewed-by: aivanov
*** 3,13 ****
<head>
<meta charset="utf-8"/>
<title>TIFF Metadata Format Specification and Usage Notes</title>
</head>
<!--
! Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
--- 3,13 ----
<head>
<meta charset="utf-8"/>
<title>TIFF Metadata Format Specification and Usage Notes</title>
</head>
<!--
! Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
*** 233,354 ****
<a href="standard_metadata.html">javax_imageio_1.0</a>
elements from <a href="#ImageMetadata">TIFF native image metadata</a> is given
in the following table.
<table border="1">
<tr>
! <th>Standard Metadata Element</th>
! <th>Derivation from TIFF Fields</th>
</tr>
<tr>
<td>/Chroma/ColorSpaceType@name</td>
<td>PhotometricInterpretation: WhiteIsZero, BlackIsZero, TransparencyMask =
"GRAY"; RGB, PaletteColor => "RGB"; CMYK => "CMYK";
YCbCr => "YCbCr";
CIELab, ICCLab => "Lab".</td>
</tr>
<tr>
<td>/Chroma/NumChannels@value</td>
<td>SamplesPerPixel</td>
</tr>
<tr>
<td>/Chroma/BlackIsZero@value</td>
<td>"TRUE" <=> PhotometricInterpretation => WhiteIsZero</td>
</tr>
<tr>
<td>/Chroma/Palette</td>
<td>ColorMap</td>
</tr>
<tr>
<td>/Compression/CompressionTypeName@value</td>
<td>Compression: Uncompressed => "none"; CCITT 1D => "CCITT
RLE";
Group 3 Fax => "CCITT T.4"; Group 4 Fax => "CCITT T.6";
LZW => "LZW";
JPEG => "Old JPEG"; New JPEG => "JPEG"; Zlib =>> "ZLib"; PackBits =>
"PackBits";
Deflate => "Deflate"; Exif JPEG => "JPEG".</td>
</tr>
<tr>
<td>/Compression/Lossless@value</td>
<td>Compression: JPEG or New JPEG => "FALSE"; otherwise "TRUE".</td>
</tr>
<tr>
<td>/Data/PlanarConfiguration@value</td>
<td>Chunky => "PixelInterleaved"; Planar => "PlaneInterleaved".</td>
</tr>
<tr>
<td>/Data/SampleFormat@value</td>
<td>PhotometricInterpretation PaletteColor => "Index";
SampleFormat unsigned integer data => "UnsignedIntegral";
SampleFormat two's complement signed integer data => "SignedIntegral";
SampleFormat IEEE floating point data => "Real";
otherwise element not emitted.
</td>
</tr>
<tr>
<td>/Data/BitsPerSample@value</td>
<td>BitsPerSample as a space-separated list.</td>
</tr>
<tr>
<td>/Data/SampleMSB@value</td>
<td>FillOrder: left-to-right => space-separated list of BitsPerSample-1;
right-to-left => space-separated list of 0s.</td>
</tr>
<tr>
<td>/Dimension/PixelAspectRatio@value</td>
<td>(1/XResolution)/(1/YResolution)</td>
</tr>
<tr>
<td>/Dimension/ImageOrientation@value</td>
<td>Orientation</td>
</tr>
<tr>
<td>/Dimension/HorizontalPixelSize@value</td>
<td>1/XResolution in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
<td>/Dimension/VerticalPixelSize@value</td>
<td>1/YResolution in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
<td>/Dimension/HorizontalPosition@value</td>
<td>XPosition in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
<td>/Dimension/VerticalPosition@value</td>
<td>YPosition in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
<td>/Document/FormatVersion@value</td>
<td>6.0</td>
</tr>
<tr>
<td>/Document/SubimageInterpretation@value</td>
<td>NewSubFileType: transparency => "TransparencyMask";
reduced-resolution => "ReducedResolution";
single page => "SinglePage".</td>
</tr>
<tr>
<td>/Document/ImageCreationTime@value</td>
<td>DateTime</td>
</tr>
<tr>
<td>/Text/TextEntry</td>
<td>DocumentName, ImageDescription, Make, Model, PageName, Software,
Artist, HostComputer, InkNames, Copyright:
/Text/TextEntry@keyword = field name,
/Text/TextEntry@value = field value.<br>
Example: TIFF Software field => /Text/TextEntry@keyword = "Software",
/Text/TextEntry@value = Name and version number of the software package(s)
used to create the image.</td>
</tr>
<tr>
<td>/Transparency/Alpha@value</td>
<td>ExtraSamples: associated alpha => "premultiplied";
unassociated alpha => "nonpremultiplied".</td>
</tr>
</table>
<h3><a id="ExifRead">Reading Exif Images</a></h3>
The TIFF reader may be used to read an uncompressed Exif image or the
--- 233,380 ----
<a href="standard_metadata.html">javax_imageio_1.0</a>
elements from <a href="#ImageMetadata">TIFF native image metadata</a> is given
in the following table.
<table border="1">
+ <thead>
<tr>
! <th scope="col">Index</th>
! <th scope="col">Standard Metadata Element</th>
! <th scope="col">Derivation from TIFF Fields</th>
</tr>
+ </thead>
+ <tbody>
<tr>
+ <th scope="row">1</th>
<td>/Chroma/ColorSpaceType@name</td>
<td>PhotometricInterpretation: WhiteIsZero, BlackIsZero, TransparencyMask =
"GRAY"; RGB, PaletteColor => "RGB"; CMYK => "CMYK";
YCbCr => "YCbCr";
CIELab, ICCLab => "Lab".</td>
</tr>
<tr>
+ <th scope="row">2</th>
<td>/Chroma/NumChannels@value</td>
<td>SamplesPerPixel</td>
</tr>
<tr>
+ <th scope="row">3</th>
<td>/Chroma/BlackIsZero@value</td>
<td>"TRUE" <=> PhotometricInterpretation => WhiteIsZero</td>
</tr>
<tr>
+ <th scope="row">4</th>
<td>/Chroma/Palette</td>
<td>ColorMap</td>
</tr>
<tr>
+ <th scope="row">5</th>
<td>/Compression/CompressionTypeName@value</td>
<td>Compression: Uncompressed => "none"; CCITT 1D => "CCITT
RLE";
Group 3 Fax => "CCITT T.4"; Group 4 Fax => "CCITT T.6";
LZW => "LZW";
JPEG => "Old JPEG"; New JPEG => "JPEG"; Zlib =>> "ZLib"; PackBits =>
"PackBits";
Deflate => "Deflate"; Exif JPEG => "JPEG".</td>
</tr>
<tr>
+ <th scope="row">6</th>
<td>/Compression/Lossless@value</td>
<td>Compression: JPEG or New JPEG => "FALSE"; otherwise "TRUE".</td>
</tr>
<tr>
+ <th scope="row">7</th>
<td>/Data/PlanarConfiguration@value</td>
<td>Chunky => "PixelInterleaved"; Planar => "PlaneInterleaved".</td>
</tr>
<tr>
+ <th scope="row">8</th>
<td>/Data/SampleFormat@value</td>
<td>PhotometricInterpretation PaletteColor => "Index";
SampleFormat unsigned integer data => "UnsignedIntegral";
SampleFormat two's complement signed integer data => "SignedIntegral";
SampleFormat IEEE floating point data => "Real";
otherwise element not emitted.
</td>
</tr>
<tr>
+ <th scope="row">9</th>
<td>/Data/BitsPerSample@value</td>
<td>BitsPerSample as a space-separated list.</td>
</tr>
<tr>
+ <th scope="row">10</th>
<td>/Data/SampleMSB@value</td>
<td>FillOrder: left-to-right => space-separated list of BitsPerSample-1;
right-to-left => space-separated list of 0s.</td>
</tr>
<tr>
+ <th scope="row">11</th>
<td>/Dimension/PixelAspectRatio@value</td>
<td>(1/XResolution)/(1/YResolution)</td>
</tr>
<tr>
+ <th scope="row">12</th>
<td>/Dimension/ImageOrientation@value</td>
<td>Orientation</td>
</tr>
<tr>
+ <th scope="row">13</th>
<td>/Dimension/HorizontalPixelSize@value</td>
<td>1/XResolution in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
+ <th scope="row">14</th>
<td>/Dimension/VerticalPixelSize@value</td>
<td>1/YResolution in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
+ <th scope="row">15</th>
<td>/Dimension/HorizontalPosition@value</td>
<td>XPosition in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
+ <th scope="row">16</th>
<td>/Dimension/VerticalPosition@value</td>
<td>YPosition in millimeters if ResolutionUnit is not None.</td>
</tr>
<tr>
+ <th scope="row">17</th>
<td>/Document/FormatVersion@value</td>
<td>6.0</td>
</tr>
<tr>
+ <th scope="row">18</th>
<td>/Document/SubimageInterpretation@value</td>
<td>NewSubFileType: transparency => "TransparencyMask";
reduced-resolution => "ReducedResolution";
single page => "SinglePage".</td>
</tr>
<tr>
+ <th scope="row">19</th>
<td>/Document/ImageCreationTime@value</td>
<td>DateTime</td>
</tr>
<tr>
+ <th scope="row">20</th>
<td>/Text/TextEntry</td>
<td>DocumentName, ImageDescription, Make, Model, PageName, Software,
Artist, HostComputer, InkNames, Copyright:
/Text/TextEntry@keyword = field name,
/Text/TextEntry@value = field value.<br>
Example: TIFF Software field => /Text/TextEntry@keyword = "Software",
/Text/TextEntry@value = Name and version number of the software package(s)
used to create the image.</td>
</tr>
<tr>
+ <th scope="row">21</th>
<td>/Transparency/Alpha@value</td>
<td>ExtraSamples: associated alpha => "premultiplied";
unassociated alpha => "nonpremultiplied".</td>
</tr>
+ </tbody>
</table>
<h3><a id="ExifRead">Reading Exif Images</a></h3>
The TIFF reader may be used to read an uncompressed Exif image or the
*** 488,543 ****
<code>MODE_EXPLICIT</code>. The set of innately
supported compression types is listed in the following table:
<table border=1>
<caption><b>Supported Compression Types</b></caption>
! <tr><th>Compression Type</th> <th>Description</th> <th>Reference</th></tr>
<tr>
<td>CCITT RLE</td>
<td>Modified Huffman compression</td>
<td>TIFF 6.0 Specification, Section 10</td>
</tr>
<tr>
<td>CCITT T.4</td>
<td>CCITT T.4 bilevel encoding/Group 3 facsimile compression</td>
<td>TIFF 6.0 Specification, Section 11</td>
</tr>
<tr>
<td>CCITT T.6</td>
<td>CCITT T.6 bilevel encoding/Group 4 facsimile compression</td>
<td>TIFF 6.0 Specification, Section 11</td></tr>
<tr>
<td>LZW</td>
<td>LZW compression</td>
<td>TIFF 6.0 Specification, Section 13</td></tr>
<tr>
<td>JPEG</td>
<td>"New" JPEG-in-TIFF compression</td>
<td>TIFF Technical Note #2</td></tr>
<tr>
<td>ZLib</td>
<td>"Deflate/Inflate" compression (see note following this table)</td>
<td>Adobe Photoshop® TIFF Technical Notes</td>
</tr>
<tr>
<td>PackBits</td>
<td>Byte-oriented, run length compression</td>
<td>TIFF 6.0 Specification, Section 9</td>
</tr>
<tr>
<td>Deflate</td>
<td>"Zip-in-TIFF" compression (see note following this table)</td>
<td><a href="https://tools.ietf.org/html/rfc1950">
ZLIB Compressed Data Format Specification</a>,
<a href="https://tools.ietf.org/html/rfc1951">
DEFLATE Compressed Data Format Specification</a></td>
</tr>
<tr>
<td>Exif JPEG</td>
<td>Exif-specific JPEG compression (see note following this table)</td>
<td><a href="http://www.exif.org/Exif2-2.PDF">Exif 2.2 Specification</a>
(PDF), section 4.5.5, "Basic Structure of Thumbnail Data"</td>
</table>
<p>
Old-style JPEG compression as described in section 22 of the TIFF 6.0
Specification is <i>not</i> supported.
--- 514,586 ----
<code>MODE_EXPLICIT</code>. The set of innately
supported compression types is listed in the following table:
<table border=1>
<caption><b>Supported Compression Types</b></caption>
! <thead>
<tr>
+ <th scope="col">Index</th>
+ <th scope="col">Compression Type</th>
+ <th scope="col">Description</th>
+ <th scope="col">Reference</th></tr>
+ <tr>
+ </thead>
+ <tbody>
+ <th scope="row">1</th>
<td>CCITT RLE</td>
<td>Modified Huffman compression</td>
<td>TIFF 6.0 Specification, Section 10</td>
</tr>
<tr>
+ <th scope="row">2</th>
<td>CCITT T.4</td>
<td>CCITT T.4 bilevel encoding/Group 3 facsimile compression</td>
<td>TIFF 6.0 Specification, Section 11</td>
</tr>
<tr>
+ <th scope="row">3</th>
<td>CCITT T.6</td>
<td>CCITT T.6 bilevel encoding/Group 4 facsimile compression</td>
<td>TIFF 6.0 Specification, Section 11</td></tr>
<tr>
+ <th scope="row">4</th>
<td>LZW</td>
<td>LZW compression</td>
<td>TIFF 6.0 Specification, Section 13</td></tr>
<tr>
+ <th scope="row">5</th>
<td>JPEG</td>
<td>"New" JPEG-in-TIFF compression</td>
<td>TIFF Technical Note #2</td></tr>
<tr>
+ <th scope="row">6</th>
<td>ZLib</td>
<td>"Deflate/Inflate" compression (see note following this table)</td>
<td>Adobe Photoshop® TIFF Technical Notes</td>
</tr>
<tr>
+ <th scope="row">7</th>
<td>PackBits</td>
<td>Byte-oriented, run length compression</td>
<td>TIFF 6.0 Specification, Section 9</td>
</tr>
<tr>
+ <th scope="row">8</th>
<td>Deflate</td>
<td>"Zip-in-TIFF" compression (see note following this table)</td>
<td><a href="https://tools.ietf.org/html/rfc1950">
ZLIB Compressed Data Format Specification</a>,
<a href="https://tools.ietf.org/html/rfc1951">
DEFLATE Compressed Data Format Specification</a></td>
</tr>
<tr>
+ <th scope="row">9</th>
<td>Exif JPEG</td>
<td>Exif-specific JPEG compression (see note following this table)</td>
<td><a href="http://www.exif.org/Exif2-2.PDF">Exif 2.2 Specification</a>
(PDF), section 4.5.5, "Basic Structure of Thumbnail Data"</td>
+ </tbody>
</table>
<p>
Old-style JPEG compression as described in section 22 of the TIFF 6.0
Specification is <i>not</i> supported.
*** 719,833 ****
elements from the standard metadata format
<a href="standard_metadata.html">javax_imageio_1.0</a> is
given in the following table.
<table border="1">
<tr>
! <th>TIFF Field</th>
! <th>Derivation from Standard Metadata Elements</th>
</tr>
<tr>
<td>
PhotometricInterpretation
</td>
<td>/Chroma/ColorSpaceType@name: "GRAY" and /Chroma/BlackIsZero@value = "FALSE"
=> WhiteIsZero; "GRAY" and /Document/SubimageInterpretation@value =
"TransparencyMask" => TransparencyMask; "RGB" and /Chroma/Palette present =>
PaletteColor; "GRAY" => BlackIsZero; "RGB" => RGB; "YCbCr" => YCbCr;
"CMYK" => CMYK; "Lab" => CIELab.</td>
</tr>
<tr>
<td>SamplesPerPixel</td>
<td>/Chroma/NumChannels@value</td>
</tr>
<tr>
<td>ColorMap</td>
<td>/Chroma/Palette</td>
</tr>
<tr>
<td>Compression</td>
<td>/Compression/CompressionTypeName@value: "none" => Uncompressed;
"CCITT RLE" => CCITT 1D; "CCITT T.4" => Group 3 Fax; "CCITT T.6" => Group 4
Fax; "LZW" => LZW; "Old JPEG" => JPEG; "JPEG" => New JPEG; "ZLib" => ZLib;
"PackBits" => PackBits; "Deflate" => Deflate.</td>
</tr>
<tr>
<td>PlanarConfiguration</td>
<td>/Data/PlanarConfiguration@value: "PixelInterleaved" => Chunky;
"PlaneInterleaved" => Planar.</td>
</tr>
<tr>
<td>SampleFormat</td>
<td>/Data/SampleFormat@value: "SignedIntegral" => two's complement signed
integer data; "UnsignedIntegral" => unsigned integer data; "Real" =>
IEEE floating point data; "Index" => unsigned integer data.
</td>
</tr>
<tr>
<td>BitsPerSample</td>
<td>/Data/BitsPerSample@value: space-separated list parsed to char array.</td>
</tr>
<tr>
<td>FillOrder</td>
<td>/Data/SampleMSB@value: if all values in space-separated list are 0s =>
right-to-left; otherwise => left-to-right.
</td>
</tr>
<tr>
<td>XResolution</td>
<td>(10 / /Dimension/HorizontalPixelSize@value) or
(10 / (/Dimension/VerticalPixelSize@value *
/Dimension/PixelAspectRatio@value))</td>
</tr>
<tr>
<td>YResolution</td>
<td>(10 / /Dimension/VerticalPixelSize@value) or
(10 / (/Dimension/HorizontalPixelSize@value /
/Dimension/PixelAspectRatio@value))</td>
</tr>
<tr>
<td>ResolutionUnit</td>
<td>Centimeter if XResolution or YResolution set; otherwise None.</td>
</tr>
<tr>
<td>Orientation</td>
<td>/Dimension/ImageOrientation@value</td>
</tr>
<tr>
<td>XPosition</td>
<td>/Dimension/HorizontalPosition@value / 10</td>
</tr>
<tr>
<td>YPosition</td>
<td>/Dimension/VerticalPosition@value / 10</td>
</tr>
<tr>
<td>NewSubFileType</td>
<td>/Document/SubimageInterpretation@value: "TransparencyMask" =>
transparency mask; "ReducedResolution" => reduced-resolution;
"SinglePage" => single page.</td>
</tr>
<tr>
<td>DateTime</td>
<td>/Document/ImageCreationTime@value</td>
</tr>
<tr>
<td>DocumentName, ImageDescription, Make, Model, PageName, Software,
Artist, HostComputer, InkNames, Copyright</td>
<td>/Text/TextEntry: if /Text/TextEntry@keyword is the name of any of the
TIFF Fields, e.g., "Software", then the field is added with content
/Text/TextEntry@value and count 1.</td>
</tr>
<tr>
<td>ExtraSamples</td>
<td>/Transparency/Alpha@value: "premultiplied" => associated alpha, count 1;
"nonpremultiplied" => unassociated alpha, count 1.</td>
</tr>
! <tr>
! <td></td>
! <td></td>
! </tr>
</table>
<h3><a id="ExifWrite">Writing Exif Images</a></h3>
The TIFF writer may be used to write an uncompressed Exif image or the
--- 762,895 ----
elements from the standard metadata format
<a href="standard_metadata.html">javax_imageio_1.0</a> is
given in the following table.
<table border="1">
+ <thead>
<tr>
! <th scope="col">Index</th>
! <th scope="col">TIFF Field</th>
! <th scope="col">Derivation from Standard Metadata Elements</th>
</tr>
+ </thead>
+ <tbody>
<tr>
+ <th scope="row">1</th>
<td>
PhotometricInterpretation
</td>
<td>/Chroma/ColorSpaceType@name: "GRAY" and /Chroma/BlackIsZero@value = "FALSE"
=> WhiteIsZero; "GRAY" and /Document/SubimageInterpretation@value =
"TransparencyMask" => TransparencyMask; "RGB" and /Chroma/Palette present =>
PaletteColor; "GRAY" => BlackIsZero; "RGB" => RGB; "YCbCr" => YCbCr;
"CMYK" => CMYK; "Lab" => CIELab.</td>
</tr>
<tr>
+ <th scope="row">2</th>
<td>SamplesPerPixel</td>
<td>/Chroma/NumChannels@value</td>
</tr>
<tr>
+ <th scope="row">3</th>
<td>ColorMap</td>
<td>/Chroma/Palette</td>
</tr>
<tr>
+ <th scope="row">4</th>
<td>Compression</td>
<td>/Compression/CompressionTypeName@value: "none" => Uncompressed;
"CCITT RLE" => CCITT 1D; "CCITT T.4" => Group 3 Fax; "CCITT T.6" => Group 4
Fax; "LZW" => LZW; "Old JPEG" => JPEG; "JPEG" => New JPEG; "ZLib" => ZLib;
"PackBits" => PackBits; "Deflate" => Deflate.</td>
</tr>
<tr>
+ <th scope="row">5</th>
<td>PlanarConfiguration</td>
<td>/Data/PlanarConfiguration@value: "PixelInterleaved" => Chunky;
"PlaneInterleaved" => Planar.</td>
</tr>
<tr>
+ <th scope="row">6</th>
<td>SampleFormat</td>
<td>/Data/SampleFormat@value: "SignedIntegral" => two's complement signed
integer data; "UnsignedIntegral" => unsigned integer data; "Real" =>
IEEE floating point data; "Index" => unsigned integer data.
</td>
</tr>
<tr>
+ <th scope="row">7</th>
<td>BitsPerSample</td>
<td>/Data/BitsPerSample@value: space-separated list parsed to char array.</td>
</tr>
<tr>
+ <th scope="row">8</th>
<td>FillOrder</td>
<td>/Data/SampleMSB@value: if all values in space-separated list are 0s =>
right-to-left; otherwise => left-to-right.
</td>
</tr>
<tr>
+ <th scope="row">9</th>
<td>XResolution</td>
<td>(10 / /Dimension/HorizontalPixelSize@value) or
(10 / (/Dimension/VerticalPixelSize@value *
/Dimension/PixelAspectRatio@value))</td>
</tr>
<tr>
+ <th scope="row">10</th>
<td>YResolution</td>
<td>(10 / /Dimension/VerticalPixelSize@value) or
(10 / (/Dimension/HorizontalPixelSize@value /
/Dimension/PixelAspectRatio@value))</td>
</tr>
<tr>
+ <th scope="row">11</th>
<td>ResolutionUnit</td>
<td>Centimeter if XResolution or YResolution set; otherwise None.</td>
</tr>
<tr>
+ <th scope="row">12</th>
<td>Orientation</td>
<td>/Dimension/ImageOrientation@value</td>
</tr>
<tr>
+ <th scope="row">13</th>
<td>XPosition</td>
<td>/Dimension/HorizontalPosition@value / 10</td>
</tr>
<tr>
+ <th scope="row">14</th>
<td>YPosition</td>
<td>/Dimension/VerticalPosition@value / 10</td>
</tr>
<tr>
+ <th scope="row">15</th>
<td>NewSubFileType</td>
<td>/Document/SubimageInterpretation@value: "TransparencyMask" =>
transparency mask; "ReducedResolution" => reduced-resolution;
"SinglePage" => single page.</td>
</tr>
<tr>
+ <th scope="row">16</th>
<td>DateTime</td>
<td>/Document/ImageCreationTime@value</td>
</tr>
<tr>
+ <th scope="row">17</th>
<td>DocumentName, ImageDescription, Make, Model, PageName, Software,
Artist, HostComputer, InkNames, Copyright</td>
<td>/Text/TextEntry: if /Text/TextEntry@keyword is the name of any of the
TIFF Fields, e.g., "Software", then the field is added with content
/Text/TextEntry@value and count 1.</td>
</tr>
<tr>
+ <th scope="row">18</th>
<td>ExtraSamples</td>
<td>/Transparency/Alpha@value: "premultiplied" => associated alpha, count 1;
"nonpremultiplied" => unassociated alpha, count 1.</td>
</tr>
! </tbody>
</table>
<h3><a id="ExifWrite">Writing Exif Images</a></h3>
The TIFF writer may be used to write an uncompressed Exif image or the
< prev index next >