java.awt.image

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

public class ImageFilter
     
extends Object
implements ImageConsumer, Cloneable

此类为用于从 ImageProducer 向 ImageConsumer 传递数据的接口方法集合实现了一个过滤器。它应该与 FilteredImageSource 对象结合使用,以生成现有图像的过滤版本。它是一个基类,提供的方法并没有实际实现过滤功能,因此对通过的数据并没有任何作用,是一个“空过滤器”。过滤器应该创建此类的子类,并且重写那些处理需要过滤数据的方法并根据需要修改方法。

另请参见:
FilteredImageSource, ImageConsumer

字段摘要
protected  ImageConsumer consumer
          特定图像数据流的使用者,而此 ImageFilter 实例也是为这个使用者来过滤数据的。
 
从接口 java.awt.image.ImageConsumer 继承的字段
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
 
构造方法摘要
ImageFilter()
           
 
方法摘要
 Object clone()
          复制此对象。
 ImageFilter getFilterInstance(ImageConsumer ic)
          返回为指定 ImageConsumer 实际执行过滤的 ImageFilter 对象的惟一实例。
 void imageComplete(int status)
          过滤 ImageConsumer 接口的 imageComplete 方法中所提供的信息。
 void resendTopDownLeftRight(ImageProducer ip)
          响应来自 ImageConsumer 的一个按 TopDownLeftRight (TDLR) 顺序将像素数据重新发送的请求。
 void setColorModel(ColorModel model)
          过滤 ImageConsumer 接口的 setColorModel 方法中所提供的信息。
 void setDimensions(int width, int height)
          过滤 ImageConsumer 接口的 setDimensions 方法中所提供的信息。
 void setHints(int hints)
          过滤 ImageConsumer 接口的 setHints 方法中所提供的信息。
 void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
          过滤由 ImageConsumer 接口的 setPixels 方法所提供的信息,该方法以 byte 数组为参数。
 void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
          过滤由 ImageConsumer 接口的 setPixels 方法所提供的信息,该方法以整数数组为参数。
 void setProperties(Hashtable<?,?> props)
          添加一个属性,来指示已通过的过滤器流,并在这之后从源对象传递这些属性。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

consumer

protected ImageConsumer consumer
特定图像数据流的使用者,而此 ImageFilter 实例也是为这个使用者来过滤数据的。它不是在构造方法中进行初始化的,而是当 FilteredImageSource 正在为特定图像数据流创建此对象的惟一实例时,在 getFilterInstance() 方法调用期间进行初始化。

另请参见:
getFilterInstance(java.awt.image.ImageConsumer), ImageConsumer
构造方法详细信息

ImageFilter

public ImageFilter()
方法详细信息

getFilterInstance

public ImageFilter getFilterInstance(ImageConsumer ic)
返回为指定 ImageConsumer 实际执行过滤的 ImageFilter 对象的惟一实例。默认的实现只是复制此对象。

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

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

setDimensions

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

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 setDimensions
参数:
width - 源图像的宽度
height - 源图像的高度
另请参见:
ImageConsumer.setDimensions(int, int)

setProperties

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

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

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

setColorModel

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

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 setColorModel
参数:
model - 指定的 ColorModel
另请参见:
ImageConsumer.setColorModel(java.awt.image.ColorModel)

setHints

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

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 setHints
参数:
hints - ImageConsumer 用于处理像素的提示集合
另请参见:
ImageConsumer.setHints(int)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      byte[] pixels,
                      int off,
                      int scansize)
过滤由 ImageConsumer 接口的 setPixels 方法所提供的信息,该方法以 byte 数组为参数。

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 setPixels
参数:
x - 要设置的像素区域左上角的 X 坐标
y - 要设置的像素区域左上角的 Y 坐标
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      int[] pixels,
                      int off,
                      int scansize)
过滤由 ImageConsumer 接口的 setPixels 方法所提供的信息,该方法以整数数组为参数。

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 setPixels
参数:
x - 要设置的像素区域左上角的 X 坐标
y - 要设置的像素区域左上角的 Y 坐标
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)

imageComplete

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

注:此方法由其像素正在被过滤的 Image 的 ImageProducer 调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能影响过滤操作。

指定者:
接口 ImageConsumer 中的 imageComplete
参数:
status - 图像加载的状态
另请参见:
ImageConsumer.imageComplete(int)

resendTopDownLeftRight

public void resendTopDownLeftRight(ImageProducer ip)
响应来自 ImageConsumer 的一个按 TopDownLeftRight (TDLR) 顺序将像素数据重新发送的请求。当由此 ImageFilter 的某个实例所送入数据的 ImageConsumer 请求按 TDLR 顺序重新发送数据时, FilteredImageSource 就调用 ImageFilter 的此方法。

ImageFilter 子类不一定重写此方法,这取决于它是否可以以及如何以 TDLR 顺序发送数据。有三种可能的响应方式:

  • 不重写此方法。这使得该子类使用默认的实现,即将这一请求转发到指定的 ImageProducer,而这一 ImageProducer 把这一过滤器当作请求的 ImageConsumer。如果过滤器可以确定其上游生产者对象以 TDLR 顺序发送像素,那么它也将以 TDLR 顺序转发像素,那么该行为是合适的。
  • 重写该方法,只是简单地发送数据。如果过滤器可以自行处理请求(例如,如果生成的像素已经保存在某类缓冲区中),则此行为是合适的。
  • 重写此方法,不执行任何操作。如果过滤器无法以 TDLR 顺序生成过滤数据,则此行为是合适的。

参数:
ip - 为此过滤器实例送入数据的 ImageProducer,必要时也可是应该将请求转发到的 ImageProducer
抛出:
NullPointerException - 如果 ip 为 null
另请参见:
ImageProducer.requestTopDownLeftRightResend(java.awt.image.ImageConsumer)

clone

public Object clone()
复制此对象。

覆盖:
Object 中的 clone
返回:
此实例的一个副本。
另请参见:
Cloneable