java.awt.image
Class ColorConvertOp
- BufferedImageOp, RasterOp
ColorConvertOp is a filter for converting an image from one colorspace to
another colorspace. The filter can convert the image through a sequence
of colorspaces or just from source to destination.
Color conversion is done on the color components without alpha. Thus
if a BufferedImage has alpha premultiplied, this is divided out before
color conversion, and premultiplication applied if the destination
requires it.
Color rendering and dithering hints may be applied if specified. This is
likely platform-dependent.
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
ColorConvertOp
public ColorConvertOp(RenderingHints hints)
Convert from source image color space to destination image color space.
Only valid for BufferedImage objects, this Op converts from the source
color space to the destination color space. The destination can't be
null for this operation.
hints
- Rendering hints to use during conversion, or null.
ColorConvertOp
public ColorConvertOp(ColorSpace cspace,
RenderingHints hints)
Convert BufferedImage through a ColorSpace.
This filter version is only valid for BufferedImages. The source image
is converted to cspace. If the destination is not null, it is then
converted to the destination colorspace. Normally this filter will only
be used with a null destination.
cspace
- The target color space.hints
- Rendering hints to use in conversion, or null.
ColorConvertOp
public ColorConvertOp(ICC_Profile[] profiles,
RenderingHints hints)
Convert from a source image destination image color space.
This constructor builds a ColorConvertOp from an array of ICC_Profiles.
The source image will be converted through the sequence of color spaces
defined by the profiles. If the sequence of profiles doesn't give a
well-defined conversion, throws IllegalArgumentException.
NOTE: Sun's docs don't clearly define what a well-defined conversion is
- or perhaps someone smarter can come along and sort it out.
For BufferedImages, when the first and last profiles match the
requirements of the source and destination color space respectively, the
corresponding conversion is unnecessary. TODO: code this up. I don't
yet understand how you determine this.
For Rasters, the first and last profiles must have the same number of
bands as the source and destination Rasters, respectively. If this is
not the case, or there fewer than 2 profiles, an IllegalArgumentException
will be thrown.
ColorModel.java --
Copyright (C) 2004 Free Software Foundation
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.