JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
类 LookupOp

java.lang.Object
  继承者 java.awt.image.LookupOp
所有已实现的接口:
BufferedImageOp, RasterOp

public class LookupOp
extends Object
implements BufferedImageOp, RasterOp

此类实现从源到目标的查找操作。LookupTable 对象可能包含单个数组或多个数组,遵循如下限制。

对 Raster,对 band 执行查找操作。查找数组的数目可能为一,此时对所有 band 应用同一个数组,否则查找数组的数目必须等于 Source Raster 的 band 数。

对于 BufferedImage,对颜色和 alpha 分量执行查找操作。查找数组的数目可能为一,此时对所有颜色(但没有 alpha)分量应用同一个数组。否则查找数组的数目可能等于 Source 的颜色分量数,此时如果存在 alpha 分量,则不执行此分量的查找。如果这两种情况都不适用,则查找数组的数目必须等于 Source 颜色分量数加上 alpha 分量数,此时对所有颜色和 alpha 分量执行查找。这就允许多 band BufferedImage 的非一致缩放。

对于查找操作,处理具有预乘 alpha 数据的 BufferedImage 源的方式与处理没有预乘的图像的方式相同。也就是说,无论是否预乘了数据,查找都是对 BufferedImage 源的原始数据的每个 band 执行。如果需要进行到目标 ColorModel 的颜色转换,则此步骤将考虑源和目标的预乘状态。

不能使用具有 IndexColorModel 的图像。

如果在构造方法中指定了 RenderingHints 对象,则在需要颜色转换时可以使用颜色呈现提示和抖动提示。

此类允许 Source 与 Destination 相同。

另请参见:
LookupTable, RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

构造方法摘要
LookupOp(LookupTable lookup, RenderingHints hints)
          在给定查找表和 RenderingHints 对象(可能为 null)的情况下,构造一个 LookupOp 对象。
 
方法摘要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          创建一幅具有正确大小和 band 数的、经过检查的目标图像。
 WritableRaster createCompatibleDestRaster(Raster src)
          在给定源 Raster 的情况下,创建一幅具有正确大小和 band 数的、经过检查的目标 Raster
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          对 BufferedImage 执行查找操作。
 WritableRaster filter(Raster src, WritableRaster dst)
          在 Raster 上执行查找操作。
 Rectangle2D getBounds2D(BufferedImage src)
          返回过滤后的目标图像的边界框。
 Rectangle2D getBounds2D(Raster src)
          返回过滤后目标 Raster 的边界框。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          在给定源图像中某个点的情况下,返回目标点的位置。
 RenderingHints getRenderingHints()
          返回此操作的呈现提示。
 LookupTable getTable()
          返回 LookupTable
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

LookupOp

public LookupOp(LookupTable lookup,
                RenderingHints hints)
在给定查找表和 RenderingHints 对象(可能为 null)的情况下,构造一个 LookupOp 对象。

参数:
lookup - 指定的 LookupTable
hints - 指定的 RenderingHints,或者为 null
方法详细信息

getTable

public final LookupTable getTable()
返回 LookupTable

返回:
LookupOpLookupTable

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
BufferedImage 执行查找操作。如果源图像的颜色模型与目标图像的不同,则在目标图像中转换像素。如果目标图像为 null,则创建一个具有合适的 ColorModelBufferedImage。如果 LookupTable 中的数组数不符合上面类注释所声明的限制,如果源图像有一个 IndexColorModel,则抛出 IllegalArgumentException

指定者:
接口 BufferedImageOp 中的 filter
参数:
src - 要过滤的 BufferedImage
dst - 存储过滤操作结果的 BufferedImage
返回:
过滤后的 BufferedImage
抛出:
IllegalArgumentException - 如果 LookupTable 中的数组数不符合上面类注释所声明的限制,或者源图像有一个 IndexColorModel

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
Raster 上执行查找操作。如果目标 Rasternull,则创建一个新的 Raster。如果源 Raster 和目标 Raster 的 band 数不同,或者 LookupTable 中的数组数不符合上面类注释所声明的限制,则可能抛出 IllegalArgumentException

指定者:
接口 RasterOp 中的 filter
参数:
src - 要过滤的源 Raster
dst - 用于已过滤 src 的目标 WritableRaster
返回:
过滤后的 WritableRaster
抛出:
IllegalArgumentException - 如果源和目标 raster 的 band 数不同,或者 LookupTable 中的数组数不符合上面类注释所声明的限制。

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
返回过滤后的目标图像的边界框。因为这不是一个几何操作,所以不会改变边界框。

指定者:
接口 BufferedImageOp 中的 getBounds2D
参数:
src - 要过滤的 BufferedImage
返回:
过滤后的目标图像的边界。

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回过滤后目标 Raster 的边界框。因为这不是一个几何操作,所以不会改变边界框。

指定者:
接口 RasterOp 中的 getBounds2D
参数:
src - 要过滤的 Raster
返回:
过滤后的目标 Raster 的边界。

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
创建一幅具有正确大小和 band 数的、经过检查的目标图像。如果 destCM 为 null,则将使用适当的 ColorModel

指定者:
接口 BufferedImageOp 中的 createCompatibleDestImage
参数:
src - 过滤操作的源图像。
destCM - 目标的 ColorModel,可以为 null
返回:
过滤后的目标 BufferedImage

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
在给定源 Raster 的情况下,创建一幅具有正确大小和 band 数的、经过检查的目标 Raster

指定者:
接口 RasterOp 中的 createCompatibleDestRaster
参数:
src - 要转换的 Raster
返回:
经过检查的目标 Raster

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
在给定源图像中某个点的情况下,返回目标点的位置。如果 dstPt 不为 null,则使用它来保存返回值。因为这不是一个几何操作,所以 srcPt 将等于 dstPt

指定者:
接口 BufferedImageOp 中的 getPoint2D
指定者:
接口 RasterOp 中的 getPoint2D
参数:
srcPt - 表示源图像中某个点的 Point2D
dstPt - 表示目标图像中位置的 Point2D
返回:
与源图像中指定点相对应的目标图像中的 Point2D

getRenderingHints

public final RenderingHints getRenderingHints()
返回此操作的呈现提示。

指定者:
接口 BufferedImageOp 中的 getRenderingHints
指定者:
接口 RasterOp 中的 getRenderingHints
返回:
与此操作相关联的 RenderingHints 对象。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策