- 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 方法 描述 BufferedImage
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建具有正确大小和频带数的归零目标图像。WritableRaster
createCompatibleDestRaster(Raster src)
创建一个零目的地Raster
具有正确的大小和数量的频带,给定这个来源。BufferedImage
filter(BufferedImage src, BufferedImage dst)
对BufferedImage
执行查找操作。WritableRaster
filter(Raster src, WritableRaster dst)
对Raster
执行查找操作。Rectangle2D
getBounds2D(BufferedImage src)
返回已过滤的目标图像的边界框。Rectangle2D
getBounds2D(Raster src)
返回已筛选的目标栅格的边框。Point2D
getPoint2D(Point2D srcPt, Point2D dstPt)
返回源中给定点的目标点的位置。RenderingHints
getRenderingHints()
返回此操作的渲染提示。LookupTable
getTable()
返回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
对象。
-
-