java.lang.Object | ||
↳ | javax.imageio.ImageReader | |
↳ | com.sun.imageio.plugins.bmp.BMPImageReader |
This class is the Java Image IO plugin reader for BMP images.
It may subsample the image, clip the image, select sub-bands,
and shift the decoded image origin if the proper decoding parameter
are set in the provided ImageReadParam
.
This class supports Microsoft Windows Bitmap Version 3-5,
as well as OS/2 Bitmap Version 2.x (for single-image BMP file).
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs
BMPImageReader from the provided
ImageReaderSpi . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns
true if this plug-in supports reading
just a of pixel data. | |||||||||||
Returns a default
ImageReadParam object
appropriate for this format. | |||||||||||
Returns the height in pixels of the given image within the
input source.
| |||||||||||
Returns an
IIOMetadata object containing metadata
associated with the given image, or null if the
reader does not support reading metadata, is set to ignore
metadata, or if no metadata is available. | |||||||||||
Returns an
Iterator containing possible image
types to which the given image may be decoded, in the form of
ImageTypeSpecifiers s. | |||||||||||
Overrides the method defined in the superclass.
| |||||||||||
Returns an
IIOMetadata object representing the
metadata associated with the input source as a whole (i.e., not
associated with any particular image), or null if
the reader does not support reading metadata, is set to ignore
metadata, or if no metadata is available. | |||||||||||
Returns the width in pixels of the given image within the input
source.
| |||||||||||
Returns
true if the storage format of the given
image places no inherent impediment on random access to pixels. | |||||||||||
Reads the image indexed by
imageIndex and returns
it as a complete BufferedImage , using a supplied
ImageReadParam . | |||||||||||
Returns a new
Raster object containing the raw pixel data
from the image stream, without any color conversion applied. | |||||||||||
Restores the
ImageReader to its initial state. | |||||||||||
Overrides the method defined in the superclass.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Constructs BMPImageReader
from the provided
ImageReaderSpi
.
Returns true
if this plug-in supports reading
just a
of pixel data.
If this method returns Raster
false
, calls to
or readRaster
will throw an
readTileRaster
UnsupportedOperationException
.
The default implementation returns false
.
true
if this plug-in supports reading raw
Raster
s.Returns a default ImageReadParam
object
appropriate for this format. All subclasses should define a
set of default values for all parameters and return them with
this call. This method may be called before the input source
is set.
The default implementation constructs and returns a new
ImageReadParam
object that does not allow source
scaling (i.e., it returns new
ImageReadParam()
.
ImageReadParam
object which may be used
to control the decoding process using a set of default settings.
Returns the height in pixels of the given image within the input source.
If the image can be rendered to a user-specified size, then this method returns the default height.
imageIndex | the index of the image to be queried. |
---|
int
.IOException |
---|
Returns an IIOMetadata
object containing metadata
associated with the given image, or null
if the
reader does not support reading metadata, is set to ignore
metadata, or if no metadata is available.
imageIndex | the index of the image whose metadata is to be retrieved. |
---|
IIOMetadata
object, or
null
.IOException |
---|
Returns an Iterator
containing possible image
types to which the given image may be decoded, in the form of
ImageTypeSpecifiers
s. At least one legal image
type will be returned.
The first element of the iterator should be the most "natural" type for decoding the image with as little loss as possible. For example, for a JPEG image the first entry should be an RGB image, even though the image data is stored internally in a YCbCr color space.
imageIndex | the index of the image to be
retrieved . |
---|
Iterator
containing at least one
ImageTypeSpecifier
representing suggested image
types for decoding the current given image.IOException |
---|
Overrides the method defined in the superclass.
allowSearch | if true , the true number of
images will be returned even if a search is required. If
false , the reader may return -1
without performing the search. |
---|
int
, or
-1
if allowSearch
is
false
and a search would be required.IOException |
---|
Returns an IIOMetadata
object representing the
metadata associated with the input source as a whole (i.e., not
associated with any particular image), or null
if
the reader does not support reading metadata, is set to ignore
metadata, or if no metadata is available.
IIOMetadata
object, or null
.IOException |
---|
Returns the width in pixels of the given image within the input source.
If the image can be rendered to a user-specified size, then this method returns the default width.
imageIndex | the index of the image to be queried. |
---|
int
.IOException |
---|
Returns true
if the storage format of the given
image places no inherent impediment on random access to pixels.
For most compressed formats, such as JPEG, this method should
return false
, as a large section of the image in
addition to the region of interest may need to be decoded.
This is merely a hint for programs that wish to be
efficient; all readers must be able to read arbitrary regions
as specified in an ImageReadParam
.
Note that formats that return false
from
this method may nonetheless allow tiling (e.g. Restart
Markers in JPEG), and random access will likely be reasonably
efficient on tiles. See
.
isImageTiled
A reader for which all images are guaranteed to support
easy random access, or are guaranteed not to support easy
random access, may return true
or
false
respectively without accessing any image
data. In such cases, it is not necessary to throw an exception
even if no input source has been set or the image index is out
of bounds.
The default implementation returns false
.
imageIndex | the index of the image to be queried. |
---|
true
if reading a region of interest of
the given image is likely to be efficient.IOException |
---|
Reads the image indexed by imageIndex
and returns
it as a complete BufferedImage
, using a supplied
ImageReadParam
.
The actual BufferedImage
returned will be
chosen using the algorithm defined by the
getDestination
method.
Any registered IIOReadProgressListener
objects
will be notified by calling their imageStarted
method, followed by calls to their imageProgress
method as the read progresses. Finally their
imageComplete
method will be called.
IIOReadUpdateListener
objects may be updated at
other times during the read as pixels are decoded. Finally,
IIOReadWarningListener
objects will receive
notification of any non-fatal warnings that occur during
decoding.
The set of source bands to be read and destination bands to
be written is determined by calling getSourceBands
and getDestinationBands
on the supplied
ImageReadParam
. If the lengths of the arrays
returned by these methods differ, the set of source bands
contains an index larger that the largest available source
index, or the set of destination bands contains an index larger
than the largest legal destination index, an
IllegalArgumentException
is thrown.
If the supplied ImageReadParam
contains
optional setting values not supported by this reader (e.g.
source render size or any format-specific settings), they will
be ignored.
imageIndex | the index of the image to be retrieved. |
---|---|
param | an ImageReadParam used to control
the reading process, or null . |
BufferedImage
.IOException |
---|
Returns a new Raster
object containing the raw pixel data
from the image stream, without any color conversion applied. The
application must determine how to interpret the pixel data by other
means. Any destination or image-type parameters in the supplied
ImageReadParam
object are ignored, but all other
parameters are used exactly as in the
method, except that any destination offset is used as a logical rather
than a physical offset. The size of the returned read
Raster
will always be that of the source region clipped to the actual image.
Logical offsets in the stream itself are ignored.
This method allows formats that normally apply a color conversion, such as JPEG, and formats that do not normally have an associated colorspace, such as remote sensing or medical imaging data, to provide access to raw pixel data.
Any registered readUpdateListener
s are ignored, as
there is no BufferedImage
, but all other listeners are
called exactly as they are for the
method.
read
If
returns
canReadRaster()
false
, this method throws an
UnsupportedOperationException
.
If the supplied ImageReadParam
contains
optional setting values not supported by this reader (e.g.
source render size or any format-specific settings), they will
be ignored.
The default implementation throws an
UnsupportedOperationException
.
imageIndex | the index of the image to be read. |
---|---|
param | an ImageReadParam used to control
the reading process, or null . |
Raster
.IOException |
---|
Restores the ImageReader
to its initial state.
The default implementation calls setInput(null,
false)
, setLocale(null)
,
removeAllIIOReadUpdateListeners()
,
removeAllIIOReadWarningListeners()
,
removeAllIIOReadProgressListeners()
, and
clearAbortRequest
.
Overrides the method defined in the superclass.
input | the ImageInputStream or other
Object to use for future decoding. |
---|---|
seekForwardOnly | if true , images and metadata
may only be read in ascending order from this input source. |
ignoreMetadata | if true , metadata
may be ignored during reads. |