- java.lang.Object
-
- java.awt.image.ColorConvertOp
-
- All Implemented Interfaces:
-
BufferedImageOp
,RasterOp
public class ColorConvertOp extends Object implements BufferedImageOp, RasterOp
该类对源图像中的数据执行逐像素颜色转换。 所得到的颜色值被缩放到目标图像的精度。 可以通过ColorSpace对象或ICC_Profile对象数组来指定颜色转换。如果源是具有预乘α的BufferedImage,则颜色分量在颜色转换之前被alpha分量除。 如果目的地是具有预乘法α的BufferedImage,则颜色分量在转换后乘以alpha分量。 光栅被视为没有alpha通道,即所有的带都是彩色带。
如果在构造函数中指定了RenderingHints对象,则可以使用颜色渲染提示和抖动提示来控制颜色转换。
请注意,源和目标可能是相同的对象。
-
-
构造方法摘要
构造方法 Constructor 描述 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,它将从源颜色空间转换为目标色彩空间。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 BufferedImage
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
给出这个来源,创建具有正确大小和频带数的归零目标图像。WritableRaster
createCompatibleDestRaster(Raster src)
给出这个来源,创建一个具有正确大小和频带数的归零目标光栅。BufferedImage
filter(BufferedImage src, BufferedImage dest)
ColorConverts源BufferedImage。WritableRaster
filter(Raster src, WritableRaster dest)
Color转换源光栅中的图像数据。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转换为目标的。 filter方法的destination参数不能指定为null。- 参数
-
hints
- 用于控制颜色转换的RenderingHints
对象,或null
-
ColorConvertOp
public ColorConvertOp(ColorSpace cspace, RenderingHints hints)
从ColorSpace对象构造一个新的ColorConvertOp。 RenderingHints参数可能为null。 此Op仅可与BufferedImages一起使用,并且在以目标参数为null调用filter
方法时主要有用。 在这种情况下,ColorSpace定义了由过滤方法创建的目的地的目标颜色空间。 否则,ColorSpace在转换为目的地空间之前定义了一个中间空间,源将被转换。- 参数
-
cspace
- 定义目的地ColorSpace
或中间件ColorSpace
-
hints
- 用于控制颜色转换的RenderingHints
对象,或null
- 异常
-
NullPointerException
- 如果cspace为空
-
ColorConvertOp
public ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)
从两个ColorSpace对象构造一个新的ColorConvertOp。 RenderingHints参数可能为null。 此Op主要用于在Raster上调用过滤器方法,在这种情况下,两个ColorSpaces定义要在光栅上执行的操作。 在这种情况下,源光栅中的条带数必须与srcCspace中的组件数量相匹配,目标光栅中的条带数必须与dstCspace中的组件数量相匹配。 对于BufferedImages,两个ColorSpaces定义了在转换为目标空间之前转换源的中间空间。- 参数
-
srcCspace
- 来源ColorSpace
-
dstCspace
- 目的地ColorSpace
-
hints
- 用于控制颜色转换的RenderingHints
对象,或null
- 异常
-
NullPointerException
- 如果srcCspace或dstCspace为空
-
ColorConvertOp
public ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)
从ICC_Profiles数组构造一个新的ColorConvertOp。 RenderingHints参数可能为null。 配置文件的序列可能包括表示颜色空间的配置文件,表示效果的配置文件等。如果整个序列不表示明确定义的颜色转换,则抛出异常。对于BufferedImages,如果源BufferedImage的ColorSpace与阵列中第一个配置文件的要求不匹配,则首次转换为适当的ColorSpace。 如果阵列中最后一个配置文件的要求不被目标BufferedImage的ColorSpace满足,则最后一次转换是到目标的ColorSpace。
对于光栅,源光栅中的光带数必须与阵列中第一个配置文件的要求相匹配,目标光栅中的光带数必须与阵列中最后一个配置文件的要求相匹配。 数组必须至少有两个元素,或者为Raster调用过滤器方法将抛出一个IllegalArgumentException异常。
- 参数
-
profiles
-ICC_Profile
对象的数组 -
hints
- 用于控制颜色转换的RenderingHints
对象,或null
- 异常
-
IllegalArgumentException
- 当轮廓序列未指定明确定义的颜色转换时 -
NullPointerException
- 如果个人资料为空
-
-
方法详细信息
-
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。 如果目标图像为空,则使用适当的ColorModel创建一个BufferedImage。- Specified by:
-
filter
在接口BufferedImageOp
- 参数
-
src
- 要转换的来源BufferedImage
-
dest
- 目的地BufferedImage
或null
- 结果
-
dest
颜色转换为src
或新转换BufferedImage
如果dest
是null
- 异常
-
IllegalArgumentException
- 如果dest为空,并且该op是使用仅使用RenderingHints参数的构造函数构造的,因为操作不正确。
-
filter
public final WritableRaster filter(Raster src, WritableRaster dest)
Color转换源光栅中的图像数据。 如果目标Raster为null,将创建一个新的栅格。 源和目标光栅中的频带数必须满足上述要求。 用于创建此ColorConvertOp的构造函数必须提供足够的信息来定义源和目标颜色空间。 往上看。 否则抛出异常。- Specified by:
-
filter
在接口RasterOp
- 参数
-
src
- 要转换的来源Raster
-
dest
- 目的地WritableRaster
或null
- 结果
-
dest
颜色转换从src
或一个新的,转换WritableRaster
如果dest
是null
- 异常
-
IllegalArgumentException
- 如果源或目标频带的数量不正确,则源或目标色彩空间未定义,或者该op是使用仅适用于BufferedImages操作的构造函数构造的。
-
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
给出这个源,返回目的地的边界框。 请注意,这将与源的边框相同。- Specified by:
-
getBounds2D
在接口BufferedImageOp
- 参数
-
src
- 来源BufferedImage
- 结果
-
一个
Rectangle2D
是目的地的边界盒,给定了指定的src
-
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
给出这个源,返回目的地的边界框。 请注意,这将与源的边框相同。- Specified by:
-
getBounds2D
在接口RasterOp
- 参数
-
src
- 来源Raster
- 结果
-
一个
Rectangle2D
是目的地的边界框,给定了指定的src
-
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
给出这个来源,创建具有正确大小和频带数的归零目标图像。- Specified by:
-
createCompatibleDestImage
在接口BufferedImageOp
- 参数
-
src
- 过滤器操作的源图像。 -
destCM
- 目的地的ColorModel。 如果为null,将使用适当的ColorModel。 - 结果
-
一个
BufferedImage
具有正确的大小和数量的频带,从指定的src
。 - 异常
-
IllegalArgumentException
- 如果destCM
是null
而这个ColorConvertOp
是创建的,没有为目标定义任何ICC_Profile
或ColorSpace
-
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
给出这个来源,创建一个具有正确大小和频带数的归零目标光栅。- Specified by:
-
createCompatibleDestRaster
在接口RasterOp
- 参数
-
src
- 指定的Raster
- 结果
-
一个
WritableRaster
具有正确的大小和数量的频带,从指定的src
- 异常
-
IllegalArgumentException
- 如果这个ColorConvertOp
没有足够的信息创建来定义dst
和src
颜色空间
-
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
返回源中给定点的目标点的位置。 如果dstPt
是非空值,它将用于保存返回值。 请注意,对于此类,目标点将与源点相同。- Specified by:
-
getPoint2D
在接口BufferedImageOp
- Specified by:
-
getPoint2D
在接口RasterOp
- 参数
-
srcPt
- 指定的来源Point2D
-
dstPt
- 目的地Point2D
- 结果
-
dstPt
将其位置设置为与srcPt
相同
-
getRenderingHints
public final RenderingHints getRenderingHints()
返回此op使用的渲染提示。- Specified by:
-
getRenderingHints
在接口BufferedImageOp
- Specified by:
-
getRenderingHints
在接口RasterOp
- 结果
-
该
RenderingHints
对象ColorConvertOp
-
-