java.lang.Object
java.awt.image.LookupOp
- 所有已实现的接口:
-
BufferedImageOp
,RasterOp
该类实现了从源到目标的查找操作。LookupTable对象可以包含单个数组或多个数组,受以下限制约束。
对于栅格图像,查找操作在波段上进行。查找数组的数量可以是一个,这种情况下相同的数组应用于所有波段,或者必须等于源栅格波段的数量。
对于缓冲图像,查找操作在颜色和alpha分量上进行。查找数组的数量可以是一个,这种情况下相同的数组应用于所有颜色(但不包括alpha)分量。否则,查找数组的数量可以等于源颜色分量的数量,这种情况下不会对alpha分量(如果存在)进行查找。如果以上两种情况都不适用,则查找数组的数量必须等于源颜色分量加上alpha分量的数量,这种情况下将对所有颜色和alpha分量进行查找。这允许对多波段缓冲图像进行非均匀重新缩放。
具有预乘alpha数据的缓冲图像在查找方面与非预乘图像相同对待。也就是说,查找是在缓冲图像源的原始数据上按波段进行的,而不考虑数据是否预乘。如果需要颜色转换到目标ColorModel,则将考虑源和目标的预乘状态。
具有IndexColorModel的图像无法使用。
如果在构造函数中指定了RenderingHints对象,则在需要颜色转换时可能会使用颜色渲染提示和抖动提示。
该类允许源与目标相同。
- 参见:
-
Constructor Summary
ConstructorDescriptionLookupOp
(LookupTable lookup, RenderingHints hints) 构造一个给定查找表和RenderingHints对象的LookupOp对象,可能为null。 -
Method Summary
Modifier and TypeMethodDescriptioncreateCompatibleDestImage
(BufferedImage src, ColorModel destCM) 创建一个正确大小和波段数的零值目标图像。创建一个正确大小和波段数的零值目标Raster,给定此源。final BufferedImage
filter
(BufferedImage src, BufferedImage dst) 在BufferedImage上执行查找操作。final WritableRaster
filter
(Raster src, WritableRaster dst) 在Raster上执行查找操作。final Rectangle2D
getBounds2D
(BufferedImage src) 返回过滤后的目标图像的边界框。final Rectangle2D
getBounds2D
(Raster src) 返回过滤后的目标Raster的边界框。final Point2D
getPoint2D
(Point2D srcPt, Point2D dstPt) 给定源中的点,返回目标点的位置。final RenderingHints
返回此操作的渲染提示。final LookupTable
getTable()
返回LookupTable。
-
Constructor Details
-
LookupOp
构造一个给定查找表和RenderingHints对象的LookupOp对象,可能为null。- 参数:
-
lookup
- 指定的LookupTable -
hints
- 指定的RenderingHints,或null
-
-
Method Details
-
getTable
返回LookupTable。- 返回:
- 此LookupOp的LookupTable。
-
filter
在BufferedImage上执行查找操作。如果源图像中的颜色模型与目标图像中的颜色模型不同,则像素将在目标中转换。如果目标图像为null,则将创建一个带有适当ColorModel的BufferedImage。如果LookupTable中的数组数量不符合上述类注释中的限制,或者源图像具有IndexColorModel,则可能会抛出IllegalArgumentException。- 指定者:
-
filter
在接口BufferedImageOp
中 - 参数:
-
src
- 要过滤的BufferedImage -
dst
- 用于存储过滤操作结果的BufferedImage - 返回:
- 过滤后的BufferedImage。
- 抛出:
-
IllegalArgumentException
- 如果LookupTable中的数组数量不符合类注释中描述的限制,或者源图像具有IndexColorModel。
-
filter
在Raster上执行查找操作。如果目标Raster为null,则将创建一个新的Raster。如果源Raster和目标Raster的波段数不相同,或者LookupTable中的数组数量不符合上述类注释中的限制,则可能会抛出IllegalArgumentException。- 指定者:
-
filter
在接口RasterOp
中 - 参数:
-
src
- 要过滤的源Raster -
dst
- 用于过滤src的目标WritableRaster - 返回:
- 过滤后的WritableRaster。
- 抛出:
-
IllegalArgumentException
- 如果源和目标栅格的波段数不相同,或者LookupTable中的数组数量不符合类注释中描述的限制。
-
getBounds2D
返回过滤后的目标图像的边界框。由于这不是几何操作,边界框不会改变。- 指定者:
-
getBounds2D
在接口BufferedImageOp
中 - 参数:
-
src
- 要过滤的BufferedImage - 返回:
- 过滤定义图像的边界。
-
getBounds2D
返回过滤后的目标Raster的边界框。由于这不是几何操作,边界框不会改变。- 指定者:
-
getBounds2D
在接口RasterOp
中 - 参数:
-
src
- 要过滤的Raster - 返回:
- 过滤定义Raster的边界。
-
createCompatibleDestImage
创建一个正确大小和波段数的零值目标图像。如果destCM为null,则将使用适当的ColorModel。- 指定者:
-
createCompatibleDestImage
在接口BufferedImageOp
中 - 参数:
-
src
- 过滤操作的源图像。 -
destCM
- 目标的ColorModel,可以为null。 - 返回:
- 过滤后的目标BufferedImage。
-
createCompatibleDestRaster
创建一个正确大小和波段数的零值目标Raster,给定此源。- 指定者:
-
createCompatibleDestRaster
在接口RasterOp
中 - 参数:
-
src
- 要转换的Raster - 返回:
- 零值目标Raster。
-
getPoint2D
给定源中的点,返回目标点的位置。如果dstPt不为null,则将用于保存返回值。由于这不是几何操作,srcPt将等于dstPt。- 指定者:
-
getPoint2D
在接口BufferedImageOp
中 - 指定者:
-
getPoint2D
在接口RasterOp
中 - 参数:
-
srcPt
- 表示源图像中的点的Point2D -
dstPt
- 表示目标位置的Point2D - 返回:
- 对应于源中指定点的目标Point2D。
-
getRenderingHints
返回此操作的渲染提示。- 指定者:
-
getRenderingHints
在接口BufferedImageOp
中 - 指定者:
-
getRenderingHints
在接口RasterOp
中 - 返回:
- 与此操作关联的RenderingHints对象。
-