Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.desktop/share/classes/javax/imageio/package-info.java
41152 views
1
/*
2
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
/**
27
* The main package of the Java Image I/O API.
28
* <p>
29
* Many common image I/O operations may be performed using the static methods of
30
* the {@code ImageIO} class.
31
* <p>
32
* This package contains the basic classes and interfaces for describing the
33
* contents of image files, including metadata and thumbnails
34
* ({@code IIOImage}); for controlling the image reading process
35
* ({@code ImageReader}, {@code ImageReadParam}, and {@code ImageTypeSpecifier})
36
* and image writing process ({@code ImageWriter} and {@code ImageWriteParam});
37
* for performing transcoding between formats ({@code ImageTranscoder}), and for
38
* reporting errors ({@code IIOException}).
39
* <p>
40
* All implementations of javax.imageio provide the following standard image
41
* format plug-ins:
42
*
43
* <table class="striped">
44
* <caption>Standard image format plug-ins</caption>
45
* <thead>
46
* <tr>
47
* <th scope="col">Image format
48
* <th scope="col">Reading
49
* <th scope="col">Writing
50
* <th scope="col">Notes
51
* <th scope="col">Metadata
52
* </thead>
53
* <tbody>
54
* <!-- BMP plugin -->
55
* <tr>
56
* <th scope="row">
57
* <a href="https://msdn.microsoft.com/en-us/library/dd183391.aspx">BMP</a>
58
* <td>yes
59
* <td>yes
60
* <td>none
61
* <td><a href='metadata/doc-files/bmp_metadata.html'>BMP
62
* metadata format</a>
63
* <!-- GIF plugin -->
64
* <tr>
65
* <th scope="row">
66
* <a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF</a>
67
* <td>yes
68
* <td>yes
69
* <td><a href="#gif_plugin_notes">GIF plug-in notes</a>
70
* <td><a href='metadata/doc-files/gif_metadata.html'>GIF
71
* metadata format</a>
72
* <!-- JPEG plugin -->
73
* <tr>
74
* <th scope="row"><a href="http://www.jpeg.org">JPEG</a>
75
* <td>yes
76
* <td>yes
77
* <td>none
78
* <td><a href='metadata/doc-files/jpeg_metadata.html'>
79
* JPEG metadata format</a>
80
* <!-- PNG plugin -->
81
* <tr>
82
* <th scope="row"><a href="http://www.libpng.org/pub/png/spec/">PNG</a>
83
* <td>yes
84
* <td>yes
85
* <td>none
86
* <td><a href='metadata/doc-files/png_metadata.html'>PNG
87
* metadata format</a>
88
* <!-- TIFF plugin -->
89
* <tr>
90
* <th scope="row">
91
* <a href="https://www.itu.int/itudoc/itu-t/com16/tiff-fx/docs/tiff6.pdf">
92
* TIFF</a>
93
* <td>yes
94
* <td>yes
95
* <td>
96
* <a href='metadata/doc-files/tiff_metadata.html#Reading'>TIFF plug-in
97
* notes</a>
98
* <td>
99
* <a href='metadata/doc-files/tiff_metadata.html#StreamMetadata'>TIFF
100
* metadata format</a>
101
* <!-- WBMP plugin -->
102
* <tr>
103
* <th scope="row">
104
* <a href="http://www.wapforum.org/what/technical/SPEC-WAESpec-19990524.pdf">
105
* WBMP</a>
106
* <td>yes
107
* <td>yes
108
* <td>none
109
* <td><a href='metadata/doc-files/wbmp_metadata.html'>
110
* WBMP metadata format</a>
111
* </tbody>
112
* </table>
113
*
114
* <h2> Standard Plug-in Notes</h2>
115
*
116
* <h3><a id="gif_plugin_notes">Standard plug-in for GIF image format</a></h3>
117
* ImageIO provides {@code ImageReader} and {@code ImageWriter}plug-ins for the
118
* <a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt"> Graphics
119
* Interchange Format (GIF)</a> image format. These are the "standard" GIF
120
* plug-ins, meaning those that are included in the JRE, as distinct from those
121
* included in standard extensions, or 3rd party plug-ins. The following notes
122
* and metadata specification apply to the standard plug-ins.
123
*
124
* <h3>Writing GIF images</h3>
125
* The GIF image writer plug-in guarantees lossless writing for images which
126
* meet the following requirements:
127
* <ul>
128
* <li>the number of bands is 1;</li>
129
* <li>the number of bits per sample is not greater than 8;</li>
130
* <li>the size of a color component is not greater than 8;</li>
131
* </ul>
132
* <p>
133
* By default the GIF writer plug-in creates version "89a" images. This can be
134
* changed to "87a" by explicitly setting the version in the stream metadata
135
* (see
136
* <a href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
137
* GIF Stream Metadata Format Specification</a>).
138
*
139
* <!-- animated images -->
140
* <p>
141
* The GIF writer plug-in supports the creation of animated GIF images through
142
* the standard sequence writing methods defined in the {@code ImageWriter}
143
* class.
144
*
145
* <!-- TODO: add example here -->
146
*
147
* <!-- color tables -->
148
* <p>
149
* A global color table is written to the output stream if one of the following
150
* conditions is met:
151
* <ul>
152
* <li>stream metadata containing a GlobalColorTable element is supplied;
153
* </li>
154
* <li>a sequence is being written and image metadata containing a
155
* LocalColorTable element is supplied for the first image in the sequence;
156
* </li>
157
* <li>image metadata is not supplied or does not contain a LocalColorTable
158
* element.</li>
159
* </ul>
160
* <p>
161
* In the first case the global color table in the stream metadata is used, in
162
* the second the local color table in the image metadata is used, and in the
163
* third a global color table is created from the ColorModel or SampleModel of
164
* the (first) image.
165
* <p>
166
* A local color table is written to the output stream only if image metadata
167
* containing a LocalColorTable element is supplied to the writer, or no image
168
* metadata is supplied to the writer and the local color table which would be
169
* generated from the image itself is not equal to the global color table.
170
* <p>
171
* A Graphic Control Extension block is written to the output stream only if
172
* image metadata containing a GraphicControlExtension element is supplied to
173
* the writer, or no image metadata is supplied and the local color table
174
* generated from the image requires a transparent index. Application, Plain
175
* Text, and Comment Extension blocks are written only if they are supplied to
176
* the writer via image metadata.
177
*
178
* <!-- writing interlaced images -->
179
* <p>
180
* The writing of interlaced images can be controlled by the progressive mode of
181
* the provided {@code ImageWriteParam} instance. If progressive mode is
182
* {@code MODE_DISABLED} then a non-interlaced image will be written. If
183
* progressive mode is {@code MODE_DEFAULT} then an interlaced image will be
184
* written. If progressive mode is {@code MODE_COPY_FROM_METADATA}, then the
185
* metadata setting is used (if it is provided, otherwise an interlaced image
186
* will be written).
187
* <p>
188
* The GIF image writer plug-in supports setting output stream metadata from
189
* metadata supplied to the writer in either the native GIF stream metadata
190
* format
191
* <a href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
192
* javax_imageio_gif_stream_1.0</a> or the standard metadata format
193
* <a href="metadata/doc-files/standard_metadata.html">javax_imageio_1.0</a>,
194
* and setting output image metadata from metadata supplied to the writer in
195
* either the native GIF image metadata format
196
* <a href="metadata/doc-files/gif_metadata.html#gif_image_metadata_format">
197
* javax_imageio_gif_image_1.0</a> or the standard metadata format
198
* <a href="metadata/doc-files/standard_metadata.html">javax_imageio_1.0</a>.
199
* The mapping of standard metadata format to the GIF native stream and image
200
* metadata formats is given in the tables
201
* <a href="metadata/doc-files/gif_metadata.html#mapping">here</a>.
202
*
203
* @since 1.4
204
*/
205
package javax.imageio;
206
207