- 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,它将从源颜色空间转换为目标颜色空间。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 BufferedImage
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
在给定此源的情况下,使用正确的大小和波段数创建归零的目标图像。WritableRaster
createCompatibleDestRaster(Raster src)
在给定此源的情况下,创建具有正确大小和波段数的归零目标Raster。BufferedImage
filter(BufferedImage src, BufferedImage dest)
ColorConverts源BufferedImage。WritableRaster
filter(Raster src, WritableRaster dest)
ColorConvert源Raster中的图像数据。Rectangle2D
getBounds2D(BufferedImage src)
给定此源,返回目标的边界框。Rectangle2D
getBounds2D(Raster src)
给定此源,返回目标的边界框。ICC_Profile[]
getICC_Profiles()
返回用于构造此ColorConvertOp的ICC_Profiles数组。Point2D
getPoint2D(Point2D srcPt, Point2D dstPt)
返回给定源中某个点的目标点的位置。RenderingHints
getRenderingHints()
返回此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:
-
filter
in 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:
-
getBounds2D
in 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:
-
createCompatibleDestRaster
in 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:
-
getPoint2D
in interfaceRasterOp
- 参数
-
srcPt
- 指定的源Point2D
-
dstPt
- 目的地Point2D
- 结果
-
dstPt
设置其位置后与srcPt
相同
-
getRenderingHints
public final RenderingHints getRenderingHints()
返回此op使用的呈现提示。- Specified by:
-
getRenderingHints
接口BufferedImageOp
- Specified by:
-
getRenderingHints
在接口RasterOp
- 结果
-
RenderingHints
的这个对象为ColorConvertOp
-
-