|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.image
类 ColorConvertOp
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 分量。Raster 被认为是没有 alpha 通道的,也即所有 band 都是颜色 band。
如果 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) 创建给定源的具有正确大小和 band 数量的归零目标图像。 |
WritableRaster |
createCompatibleDestRaster(Raster src) 创建给定源且具有正确 band 大小和数量的归零目标 Raster。 |
BufferedImage |
filter(BufferedImage src, BufferedImage dest) 对源 BufferedImage 进行颜色转换。 |
WritableRaster |
filter(Raster src, WritableRaster dest) 对源 Raster 中的图像数据进行颜色转换。 |
Rectangle2D |
getBounds2D(BufferedImage src) 返回给定源的目标边界框。 |
Rectangle2D |
getBounds2D(Raster src) 返回给定源的目标边界框。 |
ICC_Profile[] |
getICC_Profiles() 返回用于构造此 ColorConvertOp 的 ICC_Profiles 的数组。 |
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt) 返回源中给定点的目标点的位置。 |
RenderingHints |
getRenderingHints() 此操作使用的呈现提示。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
ColorConvertOp
public ColorConvertOp(RenderingHints hints)
-
构造从源颜色空间到目标颜色空间转换的新 ColorConvertOp。RenderingHints 参数可以为 null。此操作只能与 BufferedImage 一起使用,并将直接从源图像的 ColorSpace 转换为目标图像的 ColorSpace。过滤器方法的目标参数不能指定为 null。
- 参数:
-
hints
- 用来控制颜色转换的RenderingHints
对象,或null
ColorConvertOp
public ColorConvertOp(ColorSpace cspace, RenderingHints hints)
-
从 ColorSpace 对象构造新的 ColorConvertOp。RenderingHints 参数可以为 null。此操作只能与 BufferedImages 一起使用,并且在目标参数为 null 的情况下调用
filter
方法时特别有用。在这种情况下,ColorSpace 定义由过滤器方法创建的目标的目标颜色空间。否则,ColorSpace 将定义一个中间空间,源转换为目标空间之前要先转换为这个中间空间。- 参数:
-
cspace
- 定义目标ColorSpace
或中间ColorSpace
-
hints
- 用来控制颜色转换的RenderingHints
对象,或null
- 抛出:
-
NullPointerException
- 如果 cspace 为 null
ColorConvertOp
public ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)
-
通过两个 ColorSpace 对象构造新的 ColorConvertOp。RenderingHints 参数可以为 null。此操作在调用 Raster 的过滤方法时特别有用,在这种情况下,这两个 ColorSpace 将定义对 Raster 执行的操作。在这种情况下,源 Raster 中的 band 数量必须与 srcCspace 中分量的数量匹配,并且目标 Raster 中的 band 数量必须与 dstCspace 中分量的数量匹配。对于 BufferedImages,这两个 ColorSpace 将定义一个中间空间,源在转换为目标空间之前要先转换为中间空间。
- 参数:
-
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。
对于 Raster,源 Raster 中的 band 数量必须与数组中第一个配置文件的要求匹配,并且目标 Raster 中的 band 数量必须与数组中最后一个配置文件的要求匹配。该数组至少有两个元素,否则调用 Raster 的过滤方法将抛出 IllegalArgumentException。
- 参数:
-
profiles
-ICC_Profile
对象的数组 -
hints
- 用于控制颜色转换的RenderingHints
对象,或null
- 抛出:
-
IllegalArgumentException
- 在配置文件序列未指定定义良好的颜色转换时 -
NullPointerException
- 如果配置文件为 null
方法详细信息 |
---|
getICC_Profiles
public final ICC_Profile[] getICC_Profiles()
- 返回用于构造此 ColorConvertOp 的 ICC_Profiles 的数组。如果 ColorConvertOp 不是通过此类数组构造的,则返回 null。
-
-
- 返回:
-
此
ColorConvertOp
的ICC_Profile
对象的数组,或null
如果此ColorConvertOp
不是通过ICC_Profile
对象构造的。
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dest)
- 对源 BufferedImage 进行颜色转换。如果目标图像为 null,则根据适当的 ColorModel 创建 BufferedImage。
-
- 指定者:
-
接口
BufferedImageOp
中的filter
-
- 参数:
-
src
- 要转换的源BufferedImage
-
dest
- 目标BufferedImage
,或null
- 返回:
-
通过
src
转换的dest
颜色,或已转换的新BufferedImage
(如果dest
为null
) - 抛出:
-
IllegalArgumentException
- 如果 dest 为 null,并且此操作是使用因操作定义得不好而只采用 RenderingHints 参数的构造方法构造的。
filter
public final WritableRaster filter(Raster src, WritableRaster dest)
- 对源 Raster 中的图像数据进行颜色转换。如果目标 Raster 为 null,则创建新 Raster。源和目标 Raster 中的 band 数量必须满足上述要求。用于创建此 ColorConvertOp 的构造方法必须提供足够的可用来定义源和目标颜色空间的信息。请参阅上文。否则,将抛出异常。
-
- 参数:
-
src
- 要转换的源Raster
-
dest
- 目标WritableRaster
,或null
- 返回:
-
通过
src
转换的dest
颜色,或已转换的新WritableRaster
(如果dest
为null
) - 抛出:
-
IllegalArgumentException
- 如果源或目标 band 数量不正确,或未定义源或目标颜色空间,或此操作是通过只应用于 BufferedImages 上的操作的构造方法之一构造的。
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
- 返回给定源的目标边界框。注意,此框与源的边界框相同。
-
- 指定者:
-
接口
BufferedImageOp
中的getBounds2D
-
- 参数:
-
src
- 源BufferedImage
- 返回:
-
在指定
src
的情况下返回目标边界框Rectangle2D