java.awt.image
Interface ImageConsumer
- All Known Implementing Classes:
- ImageFilter, PixelGrabber
- public abstract interface ImageConsumer
The interface for objects expressing interest in image data through
the ImageProducer interfaces. When a consumer is added to an image
producer, the producer delivers all of the data about the image
using the method calls defined in this interface.
- See Also:
ImageProducer
Field Summary |
static int |
COMPLETESCANLINES
The pixels will be delivered in (multiples of) complete scanlines
at a time. |
static int |
IMAGEABORTED
The image creation process was deliberately aborted. |
static int |
IMAGEERROR
An error was encountered while producing the image. |
static int |
RANDOMPIXELORDER
The pixels will be delivered in a random order. |
static int |
SINGLEFRAME
The image contain a single static image. |
static int |
SINGLEFRAMEDONE
One frame of the image is complete but there are more frames
to be delivered. |
static int |
SINGLEPASS
The pixels will be delivered in a single pass. |
static int |
STATICIMAGEDONE
The image is complete and there are no more pixels or frames
to be delivered. |
static int |
TOPDOWNLEFTRIGHT
The pixels will be delivered in top-down, left-to-right order. |
Method Summary |
void |
imageComplete(int status)
The imageComplete method is called when the ImageProducer is
finished delivering all of the pixels that the source image
contains, or when a single frame of a multi-frame animation has
been completed, or when an error in loading or producing the
image has occured. |
void |
setColorModel(ColorModel model)
The ColorModel object used for the majority of
the pixels reported using the setPixels method
calls. |
void |
setDimensions(int width,
int height)
The dimensions of the source image are reported using the
setDimensions method call. |
void |
setHints(int hintflags)
The ImageProducer can deliver the pixels in any order, but
the ImageConsumer may be able to scale or convert the pixels
to the destination ColorModel more efficiently or with higher
quality if it knows some information about how the pixels will
be delivered up front. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
The pixels of the image are delivered using one or more calls
to the setPixels method. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
The pixels of the image are delivered using one or more calls
to the setPixels method. |
void |
setProperties(Hashtable props)
Sets the extensible list of properties associated with this image. |
RANDOMPIXELORDER
public static final int RANDOMPIXELORDER
- The pixels will be delivered in a random order. This tells the
ImageConsumer not to use any optimizations that depend on the
order of pixel delivery, which should be the default assumption
in the absence of any call to the setHints method.
- See Also:
setHints(int)
TOPDOWNLEFTRIGHT
public static final int TOPDOWNLEFTRIGHT
- The pixels will be delivered in top-down, left-to-right order.
- See Also:
setHints(int)
COMPLETESCANLINES
public static final int COMPLETESCANLINES
- The pixels will be delivered in (multiples of) complete scanlines
at a time.
- See Also:
setHints(int)
SINGLEPASS
public static final int SINGLEPASS
- The pixels will be delivered in a single pass. Each pixel will
appear in only one call to any of the setPixels methods. An
example of an image format which does not meet this criterion
is a progressive JPEG image which defines pixels in multiple
passes, each more refined than the previous.
- See Also:
setHints(int)
SINGLEFRAME
public static final int SINGLEFRAME
- The image contain a single static image. The pixels will be defined
in calls to the setPixels methods and then the imageComplete method
will be called with the STATICIMAGEDONE flag after which no more
image data will be delivered. An example of an image type which
would not meet these criteria would be the output of a video feed,
or the representation of a 3D rendering being manipulated
by the user. The end of each frame in those types of images will
be indicated by calling imageComplete with the SINGLEFRAMEDONE flag.
- See Also:
setHints(int)
,
imageComplete(int)
IMAGEERROR
public static final int IMAGEERROR
- An error was encountered while producing the image.
- See Also:
imageComplete(int)
SINGLEFRAMEDONE
public static final int SINGLEFRAMEDONE
- One frame of the image is complete but there are more frames
to be delivered.
- See Also:
imageComplete(int)
STATICIMAGEDONE
public static final int STATICIMAGEDONE
- The image is complete and there are no more pixels or frames
to be delivered.
- See Also:
imageComplete(int)
IMAGEABORTED
public static final int IMAGEABORTED
- The image creation process was deliberately aborted.
- See Also:
imageComplete(int)
setDimensions
public void setDimensions(int width,
int height)
- The dimensions of the source image are reported using the
setDimensions method call.
setProperties
public void setProperties(Hashtable props)
- Sets the extensible list of properties associated with this image.
setColorModel
public void setColorModel(ColorModel model)
- The ColorModel object used for the majority of
the pixels reported using the setPixels method
calls. Note that each set of pixels delivered using setPixels
contains its own ColorModel object, so no assumption should
be made that this model will be the only one used in delivering
pixel values. A notable case where multiple ColorModel objects
may be seen is a filtered image when for each set of pixels
that it filters, the filter
determines whether the
pixels can be sent on untouched, using the original ColorModel,
or whether the pixels should be modified (filtered) and passed
on using a ColorModel more convenient for the filtering process.
- See Also:
ColorModel
setHints
public void setHints(int hintflags)
- The ImageProducer can deliver the pixels in any order, but
the ImageConsumer may be able to scale or convert the pixels
to the destination ColorModel more efficiently or with higher
quality if it knows some information about how the pixels will
be delivered up front. The setHints method should be called
before any calls to any of the setPixels methods with a bit mask
of hints about the manner in which the pixels will be delivered.
If the ImageProducer does not follow the guidelines for the
indicated hint, the results are undefined.
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
- The pixels of the image are delivered using one or more calls
to the setPixels method. Each call specifies the location and
size of the rectangle of source pixels that are contained in
the array of pixels. The specified ColorModel object should
be used to convert the pixels into their corresponding color
and alpha components. Pixel (m,n) is stored in the pixels array
at index (n * scansize + m + off). The pixels delivered using
this method are all stored as bytes.
- See Also:
ColorModel
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
- The pixels of the image are delivered using one or more calls
to the setPixels method. Each call specifies the location and
size of the rectangle of source pixels that are contained in
the array of pixels. The specified ColorModel object should
be used to convert the pixels into their corresponding color
and alpha components. Pixel (m,n) is stored in the pixels array
at index (n * scansize + m + off). The pixels delivered using
this method are all stored as ints.
- See Also:
ColorModel
imageComplete
public void imageComplete(int status)
- The imageComplete method is called when the ImageProducer is
finished delivering all of the pixels that the source image
contains, or when a single frame of a multi-frame animation has
been completed, or when an error in loading or producing the
image has occured. The ImageConsumer should remove itself from the
list of consumers registered with the ImageProducer at this time,
unless it is interested in successive frames.
- See Also:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)
Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.