- java.lang.Object
-
- java.awt.image.ColorConvertOp
-
- 实现的所有接口
-
BufferedImageOp,RasterOp
public class ColorConvertOp extends Object implements BufferedImageOp, RasterOp
此类对源图像中的数据执行逐像素颜色转换。 生成的颜色值将缩放到目标图像的精度。 可以通过ColorSpace对象数组或ICC_Profile对象数组指定颜色转换。如果源是具有预乘alpha的BufferedImage,则颜色分量在颜色转换之前被alpha分量除。 如果目标是具有预乘alpha的BufferedImage,则转换后颜色分量将乘以alpha分量。 栅格被视为没有alpha通道,即所有带都是色带。
如果在构造函数中指定了RenderingHints对象,则可以使用颜色呈现提示和抖动提示来控制颜色转换。
请注意,Source和Destination可能是同一个对象。
-
-
构造方法摘要
构造方法 构造器 描述 ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)从两个ColorSpace对象构造一个新的ColorConvertOp。ColorConvertOp(ColorSpace cspace, RenderingHints hints)从ColorSpace对象构造一个新的ColorConvertOp。ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)从ICC_Profiles数组构造一个新的ColorConvertOp。ColorConvertOp(RenderingHints hints)构造一个新的ColorConvertOp,它将从源颜色空间转换为目标颜色空间。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)在给定此源的情况下,使用正确的大小和波段数创建归零的目标图像。WritableRastercreateCompatibleDestRaster(Raster src)在给定此源的情况下,创建具有正确大小和波段数的归零目标Raster。BufferedImagefilter(BufferedImage src, BufferedImage dest)ColorConverts源BufferedImage。WritableRasterfilter(Raster src, WritableRaster dest)ColorConvert源Raster中的图像数据。Rectangle2DgetBounds2D(BufferedImage src)给定此源,返回目标的边界框。Rectangle2DgetBounds2D(Raster src)给定此源,返回目标的边界框。ICC_Profile[]getICC_Profiles()返回用于构造此ColorConvertOp的ICC_Profiles数组。Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)返回给定源中某个点的目标点的位置。RenderingHintsgetRenderingHints()返回此op使用的呈现提示。
-
-
-
构造方法详细信息
-
ColorConvertOp
public ColorConvertOp(RenderingHints hints)
构造一个新的ColorConvertOp,它将从源颜色空间转换为目标颜色空间。 RenderingHints参数可以为null。 此Op只能与BufferedImages一起使用,并且会直接从源图像的ColorSpace转换为目标的ColorSpace。 filter方法的destination参数不能指定为null。- 参数
-
hints- 用于控制颜色转换的RenderingHints对象,或null
-
ColorConvertOp
public ColorConvertOp(ColorSpace cspace, RenderingHints hints)
从ColorSpace对象构造一个新的ColorConvertOp。 RenderingHints参数可以为null。 此Op只能与BufferedImages一起使用,并且在使用目标参数null调用filter方法时非常有用。 在这种情况下,ColorSpace定义由filter方法创建的目标的目标颜色空间。 否则,ColorSpace定义一个中间空间,在转换到目标空间之前将源转换到该中间空间。- 参数
-
cspace- 定义目标ColorSpace或中间ColorSpace -
hints- 用于控制颜色转换的RenderingHints对象,或null - 异常
-
NullPointerException- 如果cspace为null
-
ColorConvertOp
public ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)
从两个ColorSpace对象构造一个新的ColorConvertOp。 RenderingHints参数可以为null。 此Op主要用于在Rasters上调用过滤器方法,在这种情况下,两个ColorSpaces定义要在Rasters上执行的操作。 在这种情况下,源Raster中的band数必须与srcCspace中的组件数相匹配,并且目标Raster中的band数必须与dstCspace中的组件数相匹配。 对于BufferedImages,两个ColorSpaces定义了中间空间,在转换到目标空间之前,通过这些空间转换源。- 参数
-
srcCspace- 源ColorSpace -
dstCspace- 目的地ColorSpace -
hints- 用于控制颜色转换的RenderingHints对象,或null - 异常
-
NullPointerException- 如果srcCspace或dstCspace为null
-
ColorConvertOp
public ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)
从ICC_Profiles数组构造一个新的ColorConvertOp。 RenderingHints参数可以为null。 轮廓序列可以包括表示颜色空间的轮廓,表示效果的轮廓等。如果整个序列不表示明确定义的颜色转换,则抛出异常。对于BufferedImages,如果源BufferedImage的ColorSpace与数组中第一个配置文件的要求不匹配,则第一次转换为适当的ColorSpace。 如果目标BufferedImage的ColorSpace不满足数组中最后一个配置文件的要求,则最后一次转换是到目标的ColorSpace。
对于Rasters,源Raster中的波段数必须与阵列中第一个配置文件的要求相匹配,并且目标Raster中的波段数必须与阵列中最后一个配置文件的要求相匹配。 该数组必须至少有两个元素,否则调用Rasters的filter方法将抛出IllegalArgumentException。
- 参数
-
profiles-ICC_Profile对象的数组 -
hints- 用于控制颜色转换的RenderingHints对象,或null - 异常
-
IllegalArgumentException- 当配置文件序列未指定明确定义的颜色转换时 -
NullPointerException- 如果profiles为null
-
-
方法详细信息
-
getICC_Profiles
public final ICC_Profile[] getICC_Profiles()
返回用于构造此ColorConvertOp的ICC_Profiles数组。 如果ColorConvertOp不是从这样的数组构造的,则返回null。- 结果
-
此
ColorConvertOp的ICC_Profile对象的数组,或null如果此ColorConvertOp未使用ICC_Profile对象的数组ICC_Profile。
-
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dest)
ColorConverts源BufferedImage。 如果目标图像为null,则将使用适当的ColorModel创建BufferedImage。- Specified by:
-
filterin interfaceBufferedImageOp - 参数
-
src- 要转换的源BufferedImage -
dest- 目的地BufferedImage或null - 结果
-
dest颜色转换自src或新的,转换BufferedImage如果dest是null - 异常
-
IllegalArgumentException- 如果dest为null并且此op是使用仅接受RenderingHints参数的构造函数构造的,因为操作定义不正确。
-
filter
public final WritableRaster filter(Raster src, WritableRaster dest)
ColorConvert源Raster中的图像数据。 如果目标Raster为null,则将创建一个新的Raster。 源和目标Rasters中的波段数必须满足上述要求。 用于创建此ColorConvertOp的构造函数必须提供足够的信息来定义源颜色空间和目标颜色空间。 往上看。 否则,抛出异常。- Specified by:
-
filter在界面RasterOp - 参数
-
src- 要转换的源Raster -
dest- 目的地WritableRaster,或null - 结果
-
dest颜色转换自src或新的,转换WritableRaster如果dest是null - 异常
-
IllegalArgumentException- 如果源或目标band的数量不正确,则源或目标颜色空间未定义,或者此op由一个仅适用于BufferedImages上的操作的构造函数构造。
-
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
给定此源,返回目标的边界框。 请注意,这将与源的边界框相同。- Specified by:
-
getBounds2Din interfaceBufferedImageOp - 参数
-
src- 源BufferedImage - 结果
-
a
Rectangle2D,它是目标的边界框,给定指定的src
-
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
给定此源,返回目标的边界框。 请注意,这将与源的边界框相同。- Specified by:
-
getBounds2D接口RasterOp - 参数
-
src- 源Raster - 结果
-
a
Rectangle2D,它是目标的边界框,给定指定的src
-
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
在给定此源的情况下,使用正确的大小和波段数创建归零的目标图像。- Specified by:
-
createCompatibleDestImage接口BufferedImageOp - 参数
-
src- 过滤器操作的源图像。 -
destCM- 目的地的ColorModel。 如果为null,则将使用适当的ColorModel。 - 结果
-
a
BufferedImage具有正确的大小和指定的src频段数。 - 异常
-
IllegalArgumentException- 如果destCM是null并且这个ColorConvertOp创建没有为目的地定义任何ICC_Profile或ColorSpace
-
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
在给定此源的情况下,创建具有正确大小和波段数的归零目标Raster。- Specified by:
-
createCompatibleDestRasterin interfaceRasterOp - 参数
-
src- 指定的Raster - 结果
-
a
WritableRaster具有正确的大小和指定的src的波段数 - 异常
-
IllegalArgumentException- 如果创建此ColorConvertOp时没有足够的信息来定义dst和src颜色空间
-
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
返回给定源中某个点的目标点的位置。 如果dstPt非null,则它将用于保存返回值。 请注意,对于此类,目标点将与源点相同。- Specified by:
-
getPoint2D在界面BufferedImageOp - Specified by:
-
getPoint2Din interfaceRasterOp - 参数
-
srcPt- 指定的源Point2D -
dstPt- 目的地Point2D - 结果
-
dstPt设置其位置后与srcPt相同
-
getRenderingHints
public final RenderingHints getRenderingHints()
返回此op使用的呈现提示。- Specified by:
-
getRenderingHints接口BufferedImageOp - Specified by:
-
getRenderingHints在接口RasterOp - 结果
-
RenderingHints的这个对象为ColorConvertOp
-
-