模块  java.desktop
软件包  java.awt.image

Class LookupOp

  • 实现的所有接口
    BufferedImageOpRasterOp

    public class LookupOpextends Objectimplements BufferedImageOp, RasterOp
    此类实现从源到目标的查找操作。 LookupTable对象可能包含单个数组或多个数组,受以下限制。

    对于Rasters,查找操作在band上。 查找数组的数量可以是一个,在这种情况下,相同的数组应用于所有波段,或者它必须等于源光栅波段的数量。

    对于BufferedImages,查找操作颜色和alpha组件。 查找数组的数量可以是一个,在这种情况下,相同的数组应用于所有颜色(但不是alpha)组件。 否则,查找数组的数量可能等于源颜色分量的数量,在这种情况下,不执行alpha分量(如果存在)的查找。 如果这两种情况都不适用,则查找数组的数量必须等于源颜色组件的数量加上alpha组件,在这种情况下,将对所有颜色和alpha组件执行查找。 这允许多频带BufferedImages的非均匀重新缩放。

    具有预乘的alpha数据的BufferedImage源以与非预乘图像相同的方式处理以用于查找。 也就是说,在BufferedImage源的原始数据上按带执行查找,而不考虑数据是否被预乘。 如果目标ColorModel需要进行颜色转换,则此步骤将考虑源和目标的预乘状态。

    不能使用带有IndexColorModel的图像。

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

    此类允许Source与Destination相同。

    另请参见:
    LookupTableRenderingHints.KEY_COLOR_RENDERINGRenderingHints.KEY_DITHERING
    • 构造方法详细信息

      • LookupOp

        public LookupOp​(LookupTable lookup,                RenderingHints hints)
        在给定查找表和 RenderingHints对象(可能是 null构造一个 LookupOp对象。
        参数
        lookup - 指定的 LookupTable
        hints - 指定的 RenderingHintsnull
    • 方法详细信息

      • getTable

        public final LookupTable getTable()
        返回 LookupTable
        结果
        这个 LookupTableLookupOp
      • 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上执行查找操作。 如果目的地Rasternull ,将创建一个新的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)
        返回已过滤目标Raster的边界框。 由于这不是几何操作,因此边界框不会改变。
        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对应于源中的指定点。