- java.lang.Object
-
- java.awt.image.LookupOp
-
- All Implemented Interfaces:
-
BufferedImageOp,RasterOp
public class LookupOp extends Object implements BufferedImageOp, RasterOp
该类实现从源到目标的查找操作。 LookupTable对象可能包含单个数组或多个数组,但需遵守以下限制。对于光栅,查找操作在频带上。 查找阵列的数量可以是一个,在这种情况下,相同的阵列应用于所有频带,或者它必须等于源光栅频带的数量。
对于BufferedImages,查找操作的颜色和alpha组件。 查找阵列的数量可以是一个,在这种情况下,相同的数组应用于所有颜色(但不是alpha)组件。 否则,查找数组的数量可以等于源颜色分量的数量,在这种情况下,不会执行alpha分量的查找(如果存在)。 如果这两种情况都不适用,查找数组的数量必须等于源颜色分量加上alpha分量的数量,在这种情况下,对所有颜色和α分量执行查找。 这允许多频带BufferedImages的非均匀重新缩放。
具有预乘法α数据的BufferedImage源以与非预乘图像相同的方式被处理以用于查找。 也就是说,在BufferedImage源的原始数据上,每个频段都进行查找,而不考虑数据是否被预乘。 如果目标ColorModel需要颜色转换,则此步骤将考虑源和目的地的预乘法状态。
不能使用IndexColorModel的图像。
如果在构造函数中指定了RenderingHints对象,则在需要颜色转换时,可以使用颜色渲染提示和抖动提示。
该类允许源与目标相同。
-
-
构造方法摘要
构造方法 Constructor 描述 LookupOp(LookupTable lookup, RenderingHints hints)给出一个LookupOp对象,给出了查找表和一个RenderingHints对象,可能是null。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)创建具有正确大小和频带数的归零目标图像。WritableRastercreateCompatibleDestRaster(Raster src)创建一个零目的地Raster具有正确的大小和数量的频带,给定这个来源。BufferedImagefilter(BufferedImage src, BufferedImage dst)对BufferedImage执行查找操作。WritableRasterfilter(Raster src, WritableRaster dst)对Raster执行查找操作。Rectangle2DgetBounds2D(BufferedImage src)返回已过滤的目标图像的边界框。Rectangle2DgetBounds2D(Raster src)返回已筛选的目标栅格的边框。Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)返回源中给定点的目标点的位置。RenderingHintsgetRenderingHints()返回此操作的渲染提示。LookupTablegetTable()返回LookupTable。
-
-
-
构造方法详细信息
-
LookupOp
public LookupOp(LookupTable lookup, RenderingHints hints)
给定一个LookupOp对象,给出了查找表和一个RenderingHints对象,可能是null。- 参数
-
lookup- 指定的LookupTable -
hints- 指定的RenderingHints或null
-
-
方法详细信息
-
getTable
public final LookupTable getTable()
返回LookupTable。- 结果
-
这
LookupTable的LookupOp。
-
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
对BufferedImage执行查找操作。 如果源图像中的颜色模型与目标图像中的颜色模型不同,则将在目标中转换像素。 如果目标图像是null,一个BufferedImage将与合适的被创建ColorModel。 一个IllegalArgumentException如果阵列中的数量可能会抛出LookupTable不符合上述类注释上述的限制,或者源图像有一个IndexColorModel。- Specified by:
-
filter在接口BufferedImageOp - 参数
-
src- 要过滤的BufferedImage -
dst- 其中存储过滤器操作的结果的BufferedImage - 结果
-
过滤后的
BufferedImage。 - 异常
-
IllegalArgumentException- 如果LookupTable中的数组数不符合类注释中描述的限制,或源图像是否有IndexColorModel。
-
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
对Raster执行查找操作。 如果目的地Raster为null,则会创建一个新的Raster。 该IllegalArgumentException可能,如果源抛出Raster和目标Raster不具有相同的band数,或者如果阵列中的数LookupTable不符合上述类注释中规定的限制。- Specified by:
-
filter在接口RasterOp - 参数
-
src- 来源Raster进行过滤 -
dst- 目的地WritableRaster为过滤的src - 结果
-
过滤后的
WritableRaster。 - 异常
-
IllegalArgumentException- 如果源和目标光栅不具有相同数量的带,或LookupTable中的阵列数不符合类注释中描述的限制。
-
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
返回已过滤的目标图像的边界框。 由于这不是一个几何操作,边框不会改变。- Specified by:
-
getBounds2D在接口BufferedImageOp - 参数
-
src- 要过滤的BufferedImage - 结果
- 过滤的定义图像的边界。
-
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
返回已筛选的目标栅格的边框。 由于这不是一个几何操作,边框不会改变。- Specified by:
-
getBounds2D在接口RasterOp - 参数
-
src- 要过滤的Raster - 结果
-
过滤定义的界限
Raster。
-
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建具有正确大小和频带数的归零目标图像。 如果destCM为null,则将使用适当的ColorModel。- Specified by:
-
createCompatibleDestImage在接口BufferedImageOp - 参数
-
src- 过滤器操作的源图像。 -
destCM- 目的地的ColorModel,可以是null。 - 结果
-
被过滤的目的地
BufferedImage。
-
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
创建一个归零目的地Raster具有正确的大小和数量的频带,给定此源。- Specified by:
-
createCompatibleDestRaster在接口RasterOp - 参数
-
src- 要转化的Raster - 结果
-
零目的地
Raster。
-
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
返回源中给定点的目标点的位置。 如果dstPt不是null,它将用于保存返回值。 由于这不是几何操作,因此srcPt将等于dstPt。- Specified by:
-
getPoint2D在接口BufferedImageOp - Specified by:
-
getPoint2D在接口RasterOp - 参数
-
srcPt- 代表源图像中的一个点的Point2D -
dstPt- 代表目的地的位置的Point2D - 结果
-
目标中的
Point2D对应于源中的指定点。
-
getRenderingHints
public final RenderingHints getRenderingHints()
返回此操作的渲染提示。- Specified by:
-
getRenderingHints在接口BufferedImageOp - Specified by:
-
getRenderingHints在接口RasterOp - 结果
-
与此操作相关联的
RenderingHints对象。
-
-