Module java.desktop
Package java.awt.image

Class ImageFilter

java.lang.Object
java.awt.image.ImageFilter
所有已实现的接口:
ImageConsumer, Cloneable
直接已知的子类:
BufferedImageFilter, CropImageFilter, ReplicateScaleFilter, RGBImageFilter

public class ImageFilter extends Object implements ImageConsumer, Cloneable
该类实现了一组接口方法,用于从ImageProducer传递数据到ImageConsumer。它旨在与FilteredImageSource对象一起使用,以生成现有图像的经过滤的版本。这是一个基类,提供了实现“空过滤器”的调用所需的方法,该过滤器对通过的数据没有影响。过滤器应该继承这个类,并覆盖处理需要过滤并根据需要修改的数据的方法。
参见:
  • Field Details

  • Constructor Details

    • ImageFilter

      public ImageFilter()
      构造一个ImageFilter
  • Method Details

    • getFilterInstance

      public ImageFilter getFilterInstance(ImageConsumer ic)
      返回一个唯一的ImageFilter对象实例,该对象将实际执行指定ImageConsumer的过滤。默认实现只是克隆此对象。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      参数:
      ic - 指定的ImageConsumer
      返回:
      用于为指定的ImageConsumer执行过滤的ImageFilter
    • setDimensions

      public void setDimensions(int width, int height)
      过滤ImageConsumer接口的setDimensions方法中提供的信息。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setDimensions 在接口 ImageConsumer
      参数:
      width - 源图像的宽度
      height - 源图像的高度
      参见:
    • setProperties

      public void setProperties(Hashtable<?,?> props)
      在添加指示已经通过的过滤器流的属性后,从源对象传递属性。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setProperties 在接口 ImageConsumer
      参数:
      props - 来自源对象的属性
      抛出:
      NullPointerException - 如果props为null
    • setColorModel

      public void setColorModel(ColorModel model)
      过滤ImageConsumer接口的setColorModel方法中提供的信息。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setColorModel 在接口 ImageConsumer
      参数:
      model - 指定的ColorModel
      参见:
    • setHints

      public void setHints(int hints)
      过滤ImageConsumer接口的setHints方法中提供的信息。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setHints 在接口 ImageConsumer
      参数:
      hints - ImageConsumer用于处理像素的一组提示
      参见:
    • setPixels

      public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
      过滤ImageConsumer接口的setPixels方法中提供的信息,该方法接受一个字节数组。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setPixels 在接口 ImageConsumer
      参数:
      x - 要设置像素区域的左上角的X坐标
      y - 要设置像素区域的左上角的Y坐标
      w - 像素区域的宽度
      h - 像素区域的高度
      model - 指定的ColorModel
      pixels - 像素数组
      off - 像素数组中的偏移量
      scansize - 像素数组中从一行像素到下一行的距离
      参见:
    • setPixels

      public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
      过滤ImageConsumer接口的setPixels方法中提供的信息,该方法接受一个整数数组。

      注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      setPixels 在接口 ImageConsumer
      参数:
      x - 要设置像素区域左上角的X坐标
      y - 要设置像素区域左上角的Y坐标
      w - 像素区域的宽度
      h - 像素区域的高度
      model - 指定的ColorModel
      pixels - 像素数组
      off - 像素数组中的偏移量
      scansize - 像素数组中从一行像素到下一行的距离
      参见:
    • imageComplete

      public void imageComplete(int status)
      过滤ImageConsumer接口的imageComplete方法提供的信息。

      注意: 该方法旨在由正在过滤像素的Image的ImageProducer调用。使用此类来过滤图像像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。

      指定者:
      imageComplete 在接口 ImageConsumer
      参数:
      status - 图像加载的状态
      参见:
    • resendTopDownLeftRight

      public void resendTopDownLeftRight(ImageProducer ip)
      响应对TopDownLeftRight(TDLR)顺序重新发送来自ImageConsumer的像素数据的请求。当由此ImageFilter的实例提供数据的ImageConsumer请求以TDLR顺序重新发送数据时,FilteredImageSource会调用此ImageFilter的方法。

      一个ImageFilter子类可能会覆盖此方法,也可能不会,这取决于它是否以及如何以TDLR顺序发送数据。存在三种可能性:

      • 不要覆盖此方法。这使得子类使用默认实现,即使用此过滤器作为请求ImageConsumer将请求转发到指定的ImageProducer。如果过滤器可以确定如果其上游生产者对象以TDLR顺序发送数据,则它将以TDLR顺序转发像素,则此行为是适当的。
      • 覆盖该方法以简单发送数据。如果过滤器可以自行处理请求,例如,如果生成的像素已保存在某种缓冲区中,则这是适当的。
      • 覆盖该方法以不执行任何操作。如果过滤器无法以TDLR顺序生成过滤数据,则这是适当的。
      参数:
      ip - 正在提供数据给此过滤器实例的ImageProducer - 也是必要时应将请求转发给的ImageProducer
      抛出:
      NullPointerException - 如果ip为null
      参见:
    • clone

      public Object clone()
      克隆此对象。
      覆盖:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见: