|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
Packages | |
com.sun.media.imageio.plugins.bmp | Package containing the public classes used by the Sun BMP plug-in for the Image I/O Framework. |
com.sun.media.imageio.plugins.jpeg2000 | Package containing the public classes used by the Sun JPEG 2000 plug-in for the Image I/O Framework. |
com.sun.media.imageio.plugins.pnm | Package containing the public classes used by the Sun PNM plug-in for the Image I/O Framework. |
com.sun.media.imageio.plugins.tiff | Package containing the public classes used by the Sun TIFF plug-in for the Image I/O Framework. |
com.sun.media.imageio.stream | Provides ImageInputStream and ImageOutputStream
classes for use with the Java Image I/O Framework. |
com.sun.media.jai.operator | Provides JAI operations which read and write images using the Java Image I/O Framework. |
JavaTM Advanced Imaging Image I/O Tools provides JAI read and write operations which use the Java Image I/O Framework, image input and output streams which use the New I/O APIs, and image reader and writer plug-ins.
java.nio
I/O APIs,
for use with the "raw" format image reader plug-in, and for reading
discontiguous image data are provided in the package
com.sun.media.imageio.stream.
true
if and only
if the image data are uncompressed. Capabilities not listed may be assumed to
revert to the respective defaults for reading and writing.
Capability | BMP | GIF | JPEG | JPEG 2000 | PNG | PNM | Raw | TIFF | WBMP |
---|---|---|---|---|---|---|---|---|---|
ImageReader.canReadRaster() |
T | X | F | T | F | T | T | F | T |
ImageReader.isRandomAccessEasy(int) |
U | X | F | F | F | T | T | U | T |
ImageWriter.canInsertImage(int) |
F | F | F | F | F | F | F | T | F |
ImageWriteParam.canWriteCompressed() |
T | T | T | T | T | F | F | T | F |
ImageWriteParam.canWriteProgressive() |
F | T | F | T | T | F | F | F | F |
ImageWriteParam.canWriteTiles() |
F | F | F | T | F | F | T | T | F |
ImageWriter.canReplacePixels(int) |
F | F | F | F | F | F | F | T | F |
ImageWriter.canWriteRasters() |
T | F | F | T | F | T | T | F | T |
ImageWriter.canWriteSequence() |
F | T | F | F | F | F | F | T | F |
Stream Metadata | F | T | F | F | F | F | F | T | F |
Standard Image Metadata | T | T | F | T | T | T | F | T | T (reader only) |
Native Image Metadata | T | T | F | T | T | T | F | T | T (reader only) |
ImageReader
and ImageWriter
plug-ins are provided
for the Bitmap (BMP) format. A summary of the attributes of these plug-ins is
given in the following table with more details in the description of the
package com.sun.media.imageio.plugins.bmp.
Attribute | Value |
---|---|
Format Name | bmp |
MIME Type | image/bmp |
Suffix | bmp |
Native Image Metadata | com_sun_media_imageio_plugins_bmp_image_1.0 |
ImageWriteParam |
BMPImageWriteParam |
References | No formal, well-defined specification exists |
ImageWriter
plug-in is provided for the Graphics Interchange
Format (GIF). Animated GIF images may be created using the standard sequence
writing methods defined in ImageWriter
. By default the
writer creates version "89a" images.
The writer supports setting output stream metadata from
metadata supplied to the writer in either the native GIF stream metadata format
javax_imageio_gif_stream_1.0
or the standard metadata format
javax_imageio_1.0
, and setting output image metadata from metadata
supplied to the writer in either the native GIF image metadata format
javax_imageio_gif_image_1.0
or the standard metadata format
javax_imageio_1.0
. The mapping of standard metadata format to
the GIF native stream and image metadata formats is given in the tables
below.
A global color table is written to the output stream if one of the following conditions obtains:
A local color table is written to the output stream only if image metadata containing a LocalColorTable element are supplied to the writer, or no image metadata are supplied to the writer and the local color table which would be generated from the image itself is not equal to the global color table.
A Graphic Control Extension block is written to the output stream only if image metadata containing a GraphicControlExtension element are supplied to the writer, or no image metadata are supplied and the local color table generated from the image requires a transparent index. Application, Plain Text, and Comment Extension blocks are written only if they are supplied to the writer via image metadata.
Standard Metadata Component | GIF Native Stream Metadata Component |
---|---|
/Chroma/Palette/PaletteEntry@index | /GlobalColorTable/ColorTableEntry@index |
/Chroma/Palette/PaletteEntry@red | /GlobalColorTable/ColorTableEntry@red |
/Chroma/Palette/PaletteEntry@green | /GlobalColorTable/ColorTableEntry@green |
/Chroma/Palette/PaletteEntry@blue | /GlobalColorTable/ColorTableEntry@blue |
/Chroma/BackgroundIndex@value | /GlobalColorTable@backgroundColorIndex |
/Data/BitsPerSample@value | /LogicalScreenDescriptor@colorResolution |
/Dimension/PixelAspectRatio@value | /LogicalScreenDescriptor@pixelAspectRatio |
/Dimension/HorizontalScreenSize@value | /LogicalScreenDescriptor@logicalScreenWidth |
/Dimension/VerticalScreenSize@value | /LogicalScreenDescriptor@logicalScreenHeight |
/Document/FormatVersion@value | /Version@value |
Standard Metadata Component | GIF Native Image Metadata Component |
---|---|
/Chroma/Palette/PaletteEntry@index | /LocalColorTable/ColorTableEntry@index |
/Chroma/Palette/PaletteEntry@red | /LocalColorTable/ColorTableEntry@red |
/Chroma/Palette/PaletteEntry@green | /LocalColorTable/ColorTableEntry@green |
/Chroma/Palette/PaletteEntry@blue | /LocalColorTable/ColorTableEntry@blue |
/Compression/NumProgressiveScans@value | /ImageDescriptor@interlaceFlag |
/Dimension/HorizontalPixelOffset@value | /ImageDescriptor@imageLeftPosition |
/Dimension/VerticalPixelOffset@value | /ImageDescriptor@imageTopPosition |
/Text/TextEntry@value | /CommentExtensions/CommentExtension@value |
/Transparency/TransparentIndex@value | /GraphicControlExtension@transparentColorIndex (/GraphicControlExtension@transparentColorFlag is also set to "TRUE") |
Attribute | Value |
---|---|
Format Name | gif |
MIME Type | image/gif |
Suffix | gif |
ImageWriteParam |
ImageWriteParam subclass |
References | GIF 87a Specification (W3C page) |
Attribute | Value |
---|---|
Compression Types | "LZW" |
Compression Modes | ImageWriteParam.MODE_DEFAULT ,
ImageWriteParam.MODE_EXPLICIT |
Progressive Modes | ImageWriteParam.MODE_COPY_FROM_METADATA (use metadata
setting if provided, otherwise interlaced),
ImageWriteParam.MODE_DEFAULT (interlaced),
ImageWriteParam.MODE_DISABLED (not interlaced)
( MODE_COPY_FROM_METADATA is initial setting)
|
ImageReader
and ImageWriter
plug-ins are provided
for the JPEG image format. These plug-ins are accelerated using native code.
If security permission settings disallow loading native code, or if the
system property "com.sun.media.imageio.disableCodecLib" is set to "true"
at the time of plug-in registration the service provider will deregister
itself and the plug-ins will not be available.
In addition to providing better performance through native acceleration for conventional (lossy) JPEG (baseline sequential DCT, 8-bit sample precision), these plug-ins also support the following additional JPEG coding processes from ISO-10918-1/ITU-T.81:
compressionType
set to "JPEG")compressionType
set to "JPEG-LOSSLESS")compressionType
set to "JPEG-LS")All subsampling and sub-banding is performed in memory, however, so if either is required, use of the core JPEG plug-in might be preferable. This plug-in performs best when the data are pixel interleaved with pixel stride equal to the number of samples per pixel and color component order G (grayscale), GA (grayscale with alpha), RGB (red-green-blue), or RGBA (red-green-blue with alpha) as appropriate for the color space. Other layouts will cause data to be reformatted in memory.
Attribute | Value |
---|---|
Format Names | jpeg, jpg, jpeg-lossless (ISO 10918-1 lossless), jpeg-ls (ISO 14495-1 lossless), jfif |
MIME Type | image/jpeg |
Suffixes | jpeg, jpg, jls (ISO 14495-1 lossless), jfif |
ImageWriteParam |
ImageWriteParam subclass |
References | JPEG Home Page |
Attribute | Value |
---|---|
Compression Types | "JPEG" (conventional, lossy JPEG), "JPEG-LOSSLESS" (ISO-10918-1 lossless), "JPEG-LS" (ISO-14495-1 lossless) |
Compression Modes | ImageWriteParam.MODE_DEFAULT (lossy),
ImageWriteParam.MODE_EXPLICIT |
ImageWriteParam.isCompressionLossless() |
true if and only if compressionType is
not "JPEG" |
ImageReader
and
ImageWriter
plug-ins are provided for the JPEG 2000 image format.
A summary of the attributes of these plug-ins is given in the table below
with more details in the description of the package
com.sun.media.imageio.plugins.jpeg2000.
If security permission settings disallow loading native code, or if the
system property "com.sun.media.imageio.disableCodecLib" is set to "true"
at the time of plug-in registration the native service providers will
deregister themselves and the native plug-ins will not be available. If both
the native and JavaTM plug-ins are registered, the native plug-ins
will have higher precedence in the IIORegistry
.
Attribute | Value |
---|---|
Format Names | jpeg2000, jpeg 2000 |
MIME Type | image/jp2, image/jpeg2000 |
Suffix | jp2 |
Native Image Metadata | com_sun_media_imageio_plugins_jpeg2000_image_1.0 |
ImageReadParam |
J2KImageReadParam |
ImageWriteParam |
J2KImageWriteParam |
References | JPEG 2000 Links |
ImageReader
and ImageWriter
plug-ins are provided
for the Portable Network Graphics (PNG) image format. These plug-ins are
accelerated using native code.
If security permission settings disallow loading native code, or if the
system property "com.sun.media.imageio.disableCodecLib" is set to "true"
at the time of plug-in registration the service provider will deregister
itself and the plug-ins will not be available.
In addition to providing better performance through native acceleration, these plug-ins also provide the ability to set the compression level and encoder strategy. All subsampling and sub-banding is performed in memory, however, so if either of these is required, use of the core PNG plug-in might be preferable. This plug-in performs best when the data are either packed bilevel (1 sample per pixel, 1 bit per sample) or pixel interleaved with pixel stride equal to the number of samples per pixel and color component order G (grayscale), GA (grayscale with alpha), RGB (red-green-blue), or RGBA (red-green-blue with alpha) as appropriate for the color space. Other layouts will cause data to be reformatted in memory. Currently only bit depths of 1, 8, and 16 are supported.
Attribute | Value |
---|---|
Format Name | png |
MIME Type | image/png |
Suffix | png |
Native Image Metadata | javax_imageio_png_1.0 |
ImageWriteParam |
ImageWriteParam subclass |
References | W3C PNG Page |
Attribute | Value |
---|---|
Compression Types | "DEFAULT", "FILTERED", "HUFFMAN_ONLY" |
Compression Modes | ImageWriteParam.MODE_DEFAULT ,
ImageWriteParam.MODE_EXPLICIT ,
ImageWriteParam.MODE_COPY_FROM_METADATA (initial setting).
|
Compression Quality | Sets compression level as
compressionLevel = (int)(9*compressionQuality)
|
Progressive Modes | ImageWriteParam.MODE_DEFAULT ("Adam7" interlacing),
ImageWriteParam.MODE_DISABLED (no interlacing),
ImageWriteParam.MODE_COPY_FROM_METADATA (initial setting).
|
Standard Metadata Component | PNG Native Image Metadata Component |
---|---|
/Chroma/ColorSpaceType@name | /IHDR@colorType |
/Chroma/NumChannels@value | /IHDR@colorType, /tRNS |
/Chroma/Gamma@value | /gAMA@gamma |
/Chroma/BlackIsZero@value | Always "TRUE" |
/Chroma/Palette | /PLTE |
/Chroma/Palette/PaletteEntry@red | /PLTE/PLTEEntry@red |
/Chroma/Palette/PaletteEntry@green | /PLTE/PLTEEntry@green |
/Chroma/Palette/PaletteEntry@blue | /PLTE/PLTEEntry@blue |
/Chroma/Palette/PaletteEntry@alpha | /PLTE/PLTEEntry@alpha |
/Chroma/BackgroundIndex@value | /bKGD/bKGD_Palette@index |
/Chroma/BackgroundColor@red | /bKGD/bKGD_RGB@red or /bKGD/bKGD_Grayscale@gray |
/Chroma/BackgroundColor@green | /bKGD/bKGD_RGB@green or /bKGD/bKGD_Grayscale@gray |
/Chroma/BackgroundColor@blue | /bKGD/bKGD_RGB@blue or /bKGD/bKGD_Grayscale@gray |
/Compression/CompressionTypeName@value | Always "deflate" |
/Compression/Lossless@value | Always "TRUE" |
/Compression/NumProgressiveScans@value | /IHDR/interlaceMethod@value |
/Data/PlanarConfiguration@value | Always "PixelInterleaved" |
/Data/SampleFormat@value | /IHDR@colorType |
/Data/BitsPerSample@value | /IHDR@bitDepth, /IHDR@colorType, /tRNS |
/Data/SignificantBitsPerSample@value | /sBIT |
/Dimension/PixelAspectRatio@value | /pHYs@pixelsPerUnitYAxis//pHYs@pixelsPerUnitXAxis or 1.0 |
/Dimension/ImageOrientation@value | Always "Normal" |
/Dimension/HorizontalPixelSize@value | /pHYs@pixelsPerUnitXAxis, /pHYS@unitSpecifier |
/Dimension/VerticalPixelSize@value | /pHYs@pixelsPerUnitYAxis, /pHYS@unitSpecifier |
/Document/ImageModificationTime@value | /tIME |
/Text/TextEntry | /tEXt, /iTXt, /zTXt |
/Transparency/Alpha@value | /IHDR@colorType, /tRNS@alpha |
/Transparency/TransparentColor@value | /tRNS |
ImageReader
and ImageWriter
plug-ins are provided
for the "portable anymap" (PNM) image format which refers collectively to the
formats PBM (portable bitmap), PGM (portable graymap), and PPM (portable
pixmap). A summary of the attributes of these plug-ins is given in the
following table with more details in the description of the package
com.sun.media.imageio.plugins.pnm.
Attribute | Value |
---|---|
Format Name | pnm |
MIME Types | image/x-portable-anymap, image/x-portable-bitmap image/x-portable-graymap,image/x-portable-pixmap |
Suffixes | pbm, pgm, ppm |
Native Image Metadata | com_sun_media_imageio_plugins_pnm_image_1.0 |
ImageWriteParam |
PNMImageWriteParam |
References |
The Netpbm Formats, Manpage of pbm, Manpage of pgm, Manpage of ppm |
ImageReader
and ImageWriter
plug-ins are provided
for the "raw" image format. The ImageReader
plug-in for the
"raw" format requires an input which is a
RawImageInputStream
.
The reader plug-in reads any uncompressed data defined by
ComponentSampleModel
,
SinglePixelPackedSampleModel
or
MultiPixelPackedSampleModel
as viewed via the
ImageInputStream
. For example, if extra data are prepended or
appended to image lines,
SegmentedImageInputStream
may be used
to define the location of the image data for each line. Thus, if the
data viewed from RawImageInputStream
are defined by the
SampleModel
s above
after RawImageInputStream
is chained with
SegmentedImageInputStream
, the reader plug-in can decode these
data correctly.
The writer plug-in writes the data to the stream exactly as defined by
the SampleModel
. If the SampleModel
has a
scanline stride associated with it, this will be used to determine the length
of each line written. If only the actual image data and not any prefix or
suffix data on the line are to be written and the scanline stride is greater
than the SampleModel
width multiplied by the number of bands,
the image should first be reformatted to remove the extra data. If JAI
is available the "Format" operation may be used for reformatting the data.
Attribute | Value |
---|---|
Format Name | raw |
MIME Type | none |
Suffix | none |
ImageWriteParam |
ImageWriteParam subclass |
References | XML InputSource defined at
RawImageInputStream.RawImageInputStream(javax.imageio.stream.ImageInputStream,org.xml.sax.InputSource) |
Attribute | Value |
---|---|
Tiling Modes | ImageWriteParam.MODE_DEFAULT |
ImageReader
and ImageWriter
plug-ins are provided
for the Tag(ged) Image File Format (TIFF). A summary of the attributes of these
plug-ins is given in the table below with more details in the description
of the package com.sun.media.imageio.plugins.tiff. Native code
is used to accelerate bilevel encodings. If security permission settings
disallow loading native code, or if the system property
"com.sun.media.imageio.disableCodecLib" is set to "true" at the time of
(de)compression, native acceleration will not be used.
Attribute | Value |
---|---|
Format Names | tif, tiff |
MIME Type | image/tiff |
Suffixes | tif, tiff |
Native Stream Metadata | com_sun_media_imageio_plugins_tiff_stream_1.0 |
Native Image Metadata | com_sun_media_imageio_plugins_tiff_image_1.0 |
ImageReadParam |
TIFFImageReadParam |
ImageWriteParam |
TIFFImageWriteParam |
References | TIFF Specification, revision 6.0 (PDF), The Unofficial TIFF Home Page, TIFF Software (libtiff), TIFF-F Revised Specification, JPEG-in-TIFF compression, DEFLATE specification (Zip-in-TIFF), ZLIB specification (Zip-in-TIFF), Adobe Photoshop® TIFF Technical Notes (PDF) (covers ZLIB and JPEG compression in TIFF), EXIF and related resources |
ImageReader
and ImageWriter
plug-ins are provided
for the Wireless Bitmap (WBMP) image format. A summary of the attributes of
these plug-ins is given in the following table.
Attribute | Value |
---|---|
Format Name | wbmp |
MIME Type | image/vnd.wap.wbmp |
Suffix | wbmp |
Native Image Metadata | com_sun_media_imageio_plugins_wbmp_image_1.0 |
References | WAP Media Types Specification (PDF) available from WAP Forum Specifications and Open Mobile Alliance |
<?xml version="1.0" encoding="UTF-8"?> <!-- Schema for WBMP native image metadata format. --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://com.sun.media.imageio.plugins" targetNamespace="http://com.sun.media.imageio.plugins"> <!-- WBMP Schema 1.0 root element. --> <xsd:element name="com_sun_media_imageio_plugins_wbmp_image_1.0"> <xsd:complexType> <xsd:sequence> <!-- WBMP type --> <xsd:element name="WBMPType" type="xsd:unsignedInt"/> <!-- Bitmap width --> <xsd:element name="Width" type="xsd:unsignedInt"/> <!-- Bitmap height --> <xsd:element name="Height" type="xsd:unsignedInt"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- wbmp_image_1.0 --> </xsd:schema>
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |