|
JavaTM 2 Platform Std. Ed. v1.4.2 |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.awt.image.ColorConvertOp
This class performs a pixel-by-pixel color conversion of the data in the source image. The resulting color values are scaled to the precision of the destination image. Color conversion can be specified via an array of ColorSpace objects or an array of ICC_Profile objects.
If the source is a BufferedImage with premultiplied alpha, the color components are divided by the alpha component before color conversion. If the destination is a BufferedImage with premultiplied alpha, the color components are multiplied by the alpha component after conversion. Rasters are treated as having no alpha channel, i.e. all bands are color bands.
If a RenderingHints object is specified in the constructor, the color rendering hint and the dithering hint may be used to control color conversion.
Note that Source and Destination may be the same object.
RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.KEY_DITHERING| Constructor Summary | |
ColorConvertOp(ColorSpace srcCspace,
ColorSpace dstCspace,
RenderingHints hints)
Constructs a new ColorConvertOp from two ColorSpace objects. |
|
ColorConvertOp(ColorSpace cspace,
RenderingHints hints)
Constructs a new ColorConvertOp from a ColorSpace object. |
|
ColorConvertOp(ICC_Profile[] profiles,
RenderingHints hints)
Constructs a new ColorConvertOp from an array of ICC_Profiles. |
|
ColorConvertOp(RenderingHints hints)
Constructs a new ColorConvertOp which will convert from a source color space to a destination color space. |
|
| Method Summary | |
BufferedImage |
createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
Creates a zeroed destination image with the correct size and number of bands, given this source. |
WritableRaster |
createCompatibleDestRaster(Raster src)
Creates a zeroed destination Raster with the correct size and number of bands, given this source. |
BufferedImage |
filter(BufferedImage src,
BufferedImage dest)
ColorConverts the source BufferedImage. |
WritableRaster |
filter(Raster src,
WritableRaster dest)
ColorConverts the image data in the source Raster. |
Rectangle2D |
getBounds2D(BufferedImage src)
Returns the bounding box of the destination, given this source. |
Rectangle2D |
getBounds2D(Raster src)
Returns the bounding box of the destination, given this source. |
ICC_Profile[] |
getICC_Profiles()
Returns the array of ICC_Profiles used to construct this ColorConvertOp. |
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt)
Returns the location of the destination point given a point in the source. |
RenderingHints |
getRenderingHints()
Returns the rendering hints used by this op. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public ColorConvertOp(RenderingHints hints)
hints - the RenderingHints object used to control
the color conversion, or null
public ColorConvertOp(ColorSpace cspace,
RenderingHints hints)
filter
method is invoked with a destination argument of null.
In that case, the ColorSpace defines the destination color space
for the destination created by the filter method. Otherwise, the
ColorSpace defines an intermediate space to which the source is
converted before being converted to the destination space.
cspace - defines the destination ColorSpace or an
intermediate ColorSpacehints - the RenderingHints object used to control
the color conversion, or null
NullPointerException - if cspace is null
public ColorConvertOp(ColorSpace srcCspace,
ColorSpace dstCspace,
RenderingHints hints)
srcCspace - the source ColorSpacedstCspace - the destination ColorSpacehints - the RenderingHints object used to control
the color conversion, or null
NullPointerException - if either srcCspace or dstCspace is null
public ColorConvertOp(ICC_Profile[] profiles,
RenderingHints hints)
For BufferedImages, if the ColorSpace of the source BufferedImage does not match the requirements of the first profile in the array, the first conversion is to an appropriate ColorSpace. If the requirements of the last profile in the array are not met by the ColorSpace of the destination BufferedImage, the last conversion is to the destination's ColorSpace.
For Rasters, the number of bands in the source Raster must match the requirements of the first profile in the array, and the number of bands in the destination Raster must match the requirements of the last profile in the array. The array must have at least two elements or calling the filter method for Rasters will throw an IllegalArgumentException.
profiles - the array of ICC_Profile objectshints - the RenderingHints object used to control
the color conversion, or null
IllegalArgumentException - when the profile sequence does not
specify a well-defined color conversion
NullPointerException - if profiles is null| Method Detail |
public final ICC_Profile[] getICC_Profiles()
ICC_Profile objects of this
ColorConvertOp, or null if this
ColorConvertOp was not constructed with an
array of ICC_Profile objects.
public final BufferedImage filter(BufferedImage src,
BufferedImage dest)
filter in interface BufferedImageOpsrc - the source BufferedImage to be converteddest - the destination BufferedImage,
or null
dest color converted from src
or a new, converted BufferedImage
if dest is null
IllegalArgumentException - if dest is null and this op was
constructed using the constructor which takes only a
RenderingHints argument, since the operation is ill defined.
public final WritableRaster filter(Raster src,
WritableRaster dest)
filter in interface RasterOpsrc - the source Raster to be converteddest - the destination WritableRaster,
or null
dest color converted from src
or a new, converted WritableRaster
if dest is null
IllegalArgumentException - if the number of source or
destination bands is incorrect, the source or destination
color spaces are undefined, or this op was constructed
with one of the constructors that applies only to
operations on BufferedImages.public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D in interface BufferedImageOpsrc - the source BufferedImage
Rectangle2D that is the bounding box
of the destination, given the specified srcpublic final Rectangle2D getBounds2D(Raster src)
getBounds2D in interface RasterOpsrc - the source Raster
Rectangle2D that is the bounding box
of the destination, given the specified src
public BufferedImage createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
createCompatibleDestImage in interface BufferedImageOpsrc - Source image for the filter operation.destCM - ColorModel of the destination. If null, an
appropriate ColorModel will be used.
BufferedImage with the correct size and
number of bands from the specified src.
IllegalArgumentException - if destCM is
null and this ColorConvertOp was
created without any ICC_Profile or
ColorSpace defined for the destinationpublic WritableRaster createCompatibleDestRaster(Raster src)
createCompatibleDestRaster in interface RasterOpsrc - the specified Raster
WritableRaster with the correct size and number
of bands from the specified src
IllegalArgumentException - if this ColorConvertOp
was created without sufficient information to define the
dst and src color spaces
public final Point2D getPoint2D(Point2D srcPt,
Point2D dstPt)
dstPt is non-null,
it will be used to hold the return value. Note that
for this class, the destination point will be the same
as the source point.
getPoint2D in interface BufferedImageOpsrcPt - the specified source Point2DdstPt - the destination Point2D
dstPt after setting its location to be
the same as srcPtpublic final RenderingHints getRenderingHints()
getRenderingHints in interface BufferedImageOpRenderingHints object of this
ColorConvertOp
|
JavaTM 2 Platform Std. Ed. v1.4.2 |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.