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