Module  java.desktop
软件包  java.awt.image

Class LookupOp

  • All Implemented Interfaces:
    BufferedImageOpRasterOp


    public class LookupOp
    extends Object
    implements BufferedImageOp, RasterOp
    该类实现从源到目标的查找操作。 LookupTable对象可能包含单个数组或多个数组,但需遵守以下限制。

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

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

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

    不能使用IndexColorModel的图像。

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

    该类允许源与目标相同。

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

      • LookupOp

        public LookupOp​(LookupTable lookup,
                        RenderingHints hints)
        给定一个 LookupOp对象,给出了查找表和一个 RenderingHints对象,可能是 null
        参数
        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)
        返回已筛选的目标栅格的边框。 由于这不是一个几何操作,边框不会改变。
        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对应于源中的指定点。