java.lang.Object | ||
↳ | javax.imageio.ImageReader | |
↳ | com.sun.imageio.plugins.png.PNGImageReader |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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. | |||||||||||
Returns the number of images, not including thumbnails, available
from the current input source.
| |||||||||||
Returns an
ImageTypeSpecifier indicating the
SampleModel and ColorModel which most
closely represents the "raw" internal format of the image. | |||||||||||
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.
| |||||||||||
Reads the image indexed by
imageIndex and returns
it as a complete BufferedImage , using a supplied
ImageReadParam . | |||||||||||
Restores the
ImageReader to its initial state. | |||||||||||
Sets the input source to use to the given
ImageInputStream or other Object . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
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
.IIOException |
---|
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
.IIOException |
---|
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.IIOException |
---|
Returns the number of images, not including thumbnails, available from the current input source.
Note that some image formats (such as animated GIF) do not
specify how many images are present in the stream. Thus
determining the number of images will require the entire stream
to be scanned and may require memory for buffering. If images
are to be processed in order, it may be more efficient to
simply call read
with increasing indices until an
IndexOutOfBoundsException
is thrown to indicate
that no more images are available. The
allowSearch
parameter may be set to
false
to indicate that an exhaustive search is not
desired; the return value will be -1
to indicate
that a search is necessary. If the input has been specified
with seekForwardOnly
set to true
,
this method throws an IllegalStateException
if
allowSearch
is set to true
.
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.IIOException |
---|
Returns an ImageTypeSpecifier
indicating the
SampleModel
and ColorModel
which most
closely represents the "raw" internal format of the image. For
example, for a JPEG image the raw type might have a YCbCr color
space even though the image would conventionally be transformed
into an RGB color space prior to display. The returned value
should also be included in the list of values returned by
getImageTypes
.
The default implementation simply returns the first entry
from the list provided by getImageType
.
imageIndex | the index of the image to be queried. |
---|
ImageTypeSpecifier
.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
.IIOException |
---|
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
.IIOException |
---|
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
.IIOException |
---|
Restores the ImageReader
to its initial state.
The default implementation calls setInput(null,
false)
, setLocale(null)
,
removeAllIIOReadUpdateListeners()
,
removeAllIIOReadWarningListeners()
,
removeAllIIOReadProgressListeners()
, and
clearAbortRequest
.
Sets the input source to use to the given
ImageInputStream
or other Object
.
The input source must be set before any of the query or read
methods are used. If input
is null
,
any currently set input source will be removed. In any case,
the value of minIndex
will be initialized to 0.
The seekForwardOnly
parameter controls whether
the value returned by getMinIndex
will be
increased as each image (or thumbnail, or image metadata) is
read. If seekForwardOnly
is true, then a call to
read(index)
will throw an
IndexOutOfBoundsException
if index <
this.minIndex
; otherwise, the value of
minIndex
will be set to index
. If
seekForwardOnly
is false
, the value of
minIndex
will remain 0 regardless of any read
operations.
The ignoreMetadata
parameter, if set to
true
, allows the reader to disregard any metadata
encountered during the read. Subsequent calls to the
getStreamMetadata
and
getImageMetadata
methods may return
null
, and an IIOImage
returned from
readAll
may return null
from their
getMetadata
method. Setting this parameter may
allow the reader to work more efficiently. The reader may
choose to disregard this setting and return metadata normally.
Subclasses should take care to remove any cached information based on the previous stream, such as header information or partially decoded image data.
Use of a general Object
other than an
ImageInputStream
is intended for readers that
interact directly with a capture device or imaging protocol.
The set of legal classes is advertised by the reader's service
provider's getInputTypes
method; most readers
will return a single-element array containing only
ImageInputStream.class
to indicate that they
accept only an ImageInputStream
.
The default implementation checks the input
argument against the list returned by
originatingProvider.getInputTypes()
and fails
if the argument is not an instance of one of the classes
in the list. If the originating provider is set to
null
, the input is accepted only if it is an
ImageInputStream
.
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. |