author | bpb |
Mon, 23 Nov 2015 12:26:12 -0800 | |
changeset 34416 | 68c0d866db5d |
child 36448 | a07e108d5722 |
permissions | -rw-r--r-- |
34416
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
1 |
/* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
2 |
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
4 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
5 |
* This code is free software; you can redistribute it and/or modify it |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation. Oracle designates this |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
8 |
* particular file as subject to the "Classpath" exception as provided |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
9 |
* by Oracle in the LICENSE file that accompanied this code. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
10 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
11 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
12 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
13 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
14 |
* version 2 for more details (a copy is included in the LICENSE file that |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
15 |
* accompanied this code). |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
16 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
17 |
* You should have received a copy of the GNU General Public License version |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
18 |
* 2 along with this work; if not, write to the Free Software Foundation, |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
19 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
20 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
21 |
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
22 |
* or visit www.oracle.com if you need additional information or have any |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
23 |
* questions. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
24 |
*/ |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
25 |
package com.sun.imageio.plugins.tiff; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
26 |
|
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
27 |
import java.util.Locale; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
28 |
import javax.imageio.ImageWriteParam; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
29 |
|
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
30 |
/** |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
31 |
* A subclass of {@link ImageWriteParam ImageWriteParam} |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
32 |
* allowing control over the TIFF writing process. The set of innately |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
33 |
* supported compression types is listed in the following table: |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
34 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
35 |
* <table border=1> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
36 |
* <caption><b>Supported Compression Types</b></caption> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
37 |
* <tr><th>Compression Type</th> <th>Description</th> <th>Reference</th></tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
38 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
39 |
* <td>CCITT RLE</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
40 |
* <td>Modified Huffman compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
41 |
* <td>TIFF 6.0 Specification, Section 10</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
42 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
43 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
44 |
* <td>CCITT T.4</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
45 |
* <td>CCITT T.4 bilevel encoding/Group 3 facsimile compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
46 |
* <td>TIFF 6.0 Specification, Section 11</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
47 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
48 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
49 |
* <td>CCITT T.6</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
50 |
* <td>CCITT T.6 bilevel encoding/Group 4 facsimile compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
51 |
* <td>TIFF 6.0 Specification, Section 11</td></tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
52 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
53 |
* <td>LZW</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
54 |
* <td>LZW compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
55 |
* <td>TIFF 6.0 Specification, Section 13</td></tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
56 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
57 |
* <td>JPEG</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
58 |
* <td>"New" JPEG-in-TIFF compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
59 |
* <td><a href="ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt">TIFF |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
60 |
* Technical Note #2</a></td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
61 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
62 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
63 |
* <td>ZLib</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
64 |
* <td>"Deflate/Inflate" compression (see note following this table)</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
65 |
* <td><a href="http://partners.adobe.com/asn/developer/pdfs/tn/TIFFphotoshop.pdf"> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
66 |
* Adobe Photoshop® TIFF Technical Notes</a> (PDF)</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
67 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
68 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
69 |
* <td>PackBits</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
70 |
* <td>Byte-oriented, run length compression</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
71 |
* <td>TIFF 6.0 Specification, Section 9</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
72 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
73 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
74 |
* <td>Deflate</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
75 |
* <td>"Zip-in-TIFF" compression (see note following this table)</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
76 |
* <td><a href="http://www.isi.edu/in-notes/rfc1950.txt"> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
77 |
* ZLIB Compressed Data Format Specification</a>, |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
78 |
* <a href="http://www.isi.edu/in-notes/rfc1951.txt"> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
79 |
* DEFLATE Compressed Data Format Specification</a></td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
80 |
* </tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
81 |
* <tr> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
82 |
* <td>Exif JPEG</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
83 |
* <td>Exif-specific JPEG compression (see note following this table)</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
84 |
* <td><a href="http://www.exif.org/Exif2-2.PDF">Exif 2.2 Specification</a> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
85 |
* (PDF), section 4.5.5, "Basic Structure of Thumbnail Data"</td> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
86 |
* </table> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
87 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
88 |
* <p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
89 |
* Old-style JPEG compression as described in section 22 of the TIFF 6.0 |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
90 |
* Specification is <i>not</i> supported. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
91 |
* </p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
92 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
93 |
* <p> The CCITT compression types are applicable to bilevel (1-bit) |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
94 |
* images only. The JPEG compression type is applicable to byte |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
95 |
* grayscale (1-band) and RGB (3-band) images only.</p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
96 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
97 |
* <p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
98 |
* ZLib and Deflate compression are identical except for the value of the |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
99 |
* TIFF Compression field: for ZLib the Compression field has value 8 |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
100 |
* whereas for Deflate it has value 32946 (0x80b2). In both cases each |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
101 |
* image segment (strip or tile) is written as a single complete zlib data |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
102 |
* stream. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
103 |
* </p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
104 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
105 |
* <p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
106 |
* "Exif JPEG" is a compression type used when writing the contents of an |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
107 |
* APP1 Exif marker segment for inclusion in a JPEG native image metadata |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
108 |
* tree. The contents appended to the output when this compression type is |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
109 |
* used are a function of whether an empty or non-empty image is written. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
110 |
* If the image is empty, then a TIFF IFD adhering to the specification of |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
111 |
* a compressed Exif primary IFD is appended. If the image is non-empty, |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
112 |
* then a complete IFD and image adhering to the specification of a |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
113 |
* compressed Exif thumbnail IFD and image are appended. Note that the |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
114 |
* data of the empty image may <i>not</i> later be appended using the pixel |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
115 |
* replacement capability of the TIFF writer. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
116 |
* </p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
117 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
118 |
* <p> If ZLib/Deflate or JPEG compression is used, the compression quality |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
119 |
* may be set. For ZLib/Deflate the supplied floating point quality value is |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
120 |
* rescaled to the range <tt>[1, 9]</tt> and truncated to an integer |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
121 |
* to derive the Deflate compression level. For JPEG the floating point |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
122 |
* quality value is passed directly to the JPEG writer plug-in which |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
123 |
* interprets it in the usual way.</p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
124 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
125 |
* <p> The <code>canWriteTiles</code> and |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
126 |
* <code>canWriteCompressed</code> methods will return |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
127 |
* <code>true</code>; the <code>canOffsetTiles</code> and |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
128 |
* <code>canWriteProgressive</code> methods will return |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
129 |
* <code>false</code>.</p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
130 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
131 |
* <p> If tiles are being written, then each of their dimensions will be |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
132 |
* rounded to the nearest multiple of 16 per the TIFF specification. If |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
133 |
* JPEG-in-TIFF compression is being used, and tiles are being written |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
134 |
* each tile dimension will be rounded to the nearest multiple of 8 times |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
135 |
* the JPEG minimum coded unit (MCU) in that dimension. If JPEG-in-TIFF |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
136 |
* compression is being used and strips are being written, the number of |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
137 |
* rows per strip is rounded to a multiple of 8 times the maximum MCU over |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
138 |
* both dimensions.</p> |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
139 |
*/ |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
140 |
public class TIFFImageWriteParam extends ImageWriteParam { |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
141 |
|
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
142 |
/** |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
143 |
* Constructs a <code>TIFFImageWriteParam</code> instance |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
144 |
* for a given <code>Locale</code>. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
145 |
* |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
146 |
* @param locale the <code>Locale</code> for which messages |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
147 |
* should be localized. |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
148 |
*/ |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
149 |
public TIFFImageWriteParam(Locale locale) { |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
150 |
super(locale); |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
151 |
this.canWriteCompressed = true; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
152 |
this.canWriteTiles = true; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
153 |
this.compressionTypes = TIFFImageWriter.TIFFCompressionTypes; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
154 |
}; |
68c0d866db5d
8143342: Integrate Java Image I/O support for TIFF per JEP 262
bpb
parents:
diff
changeset
|
155 |
} |