- java.lang.Object
-
- java.awt.image.ImageFilter
-
- All Implemented Interfaces:
-
ImageConsumer
,Cloneable
- 已知直接子类:
-
BufferedImageFilter
,CropImageFilter
,ReplicateScaleFilter
,RGBImageFilter
public class ImageFilter extends Object implements ImageConsumer, Cloneable
此类实现了一组用于将数据从ImageProducer传递到ImageConsumer的接口方法的过滤器。 这意味着与FilteredImageSource对象结合使用以产生现有图像的过滤版本。 它是一个基类,它提供了实现“Null filter”所需的调用,这对传递的数据没有影响。 过滤器应该对此类进行子类化,并覆盖处理需要过滤的数据的方法,并根据需要进行修改。- 另请参见:
-
FilteredImageSource
,ImageConsumer
-
-
Field Summary
Fields Modifier and Type Field 描述 protected ImageConsumer
consumer
ImageFilter的此实例正在过滤数据的特定图像数据流的消费者。-
Fields inherited from interface java.awt.image.ImageConsumer
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
-
-
构造方法摘要
构造方法 Constructor 描述 ImageFilter()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Object
clone()
克隆这个对象。ImageFilter
getFilterInstance(ImageConsumer ic)
返回一个ImageFilter对象的唯一实例,该对象实际上将对指定的ImageConsumer进行过滤。void
imageComplete(int status)
过滤ImageConsumer界面的imageComplete方法中提供的信息。void
resendTopDownLeftRight(ImageProducer ip)
对TopDownLeftRight(TDLR)的请求做出响应,命令从ImageConsumer
重新发送像素数据。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方法中提供的信息,该接口采用字节数组。void
setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
对ImageConsumer接口的setPixels方法中提供的信息进行过滤,该接口采用整数数组。void
setProperties(Hashtable<?,?> props)
在添加一个指示已经运行的过滤器流的属性之后,从源对象传递属性。
-
-
-
字段详细信息
-
consumer
protected ImageConsumer consumer
ImageFilter的此实例正在过滤数据的特定图像数据流的消费者。 它在构造函数期间未初始化,而是在FilteredImageSource为特定图像数据流创建此对象的唯一实例期间的getFilterInstance()方法调用期间调用。
-
-
方法详细信息
-
getFilterInstance
public ImageFilter getFilterInstance(ImageConsumer ic)
返回一个ImageFilter对象的唯一实例,该对象实际上将对指定的ImageConsumer进行过滤。 默认的实现只是克隆这个对象。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- 参数
-
ic
- 指定的ImageConsumer
- 结果
-
一个
ImageFilter
用于对指定的ImageConsumer
执行过滤。
-
setDimensions
public void setDimensions(int width, int height)
过滤ImageConsumer接口的setDimensions方法中提供的信息。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setDimensions
在接口ImageConsumer
- 参数
-
width
- 源图像的宽度 -
height
- 源图像的高度 - 另请参见:
-
ImageConsumer.setDimensions(int, int)
-
setProperties
public void setProperties(Hashtable<?,?> props)
在添加一个指示已经运行的过滤器流的属性之后,从源对象传递属性。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setProperties
在接口ImageConsumer
- 参数
-
props
- 源对象的属性 - 异常
-
NullPointerException
- 如果props
为空
-
setColorModel
public void setColorModel(ColorModel model)
过滤ImageConsumer界面的setColorModel方法中提供的信息。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setColorModel
在接口ImageConsumer
- 参数
-
model
- 指定的ColorModel
- 另请参见:
-
ImageConsumer.setColorModel(java.awt.image.ColorModel)
-
setHints
public void setHints(int hints)
过滤ImageConsumer界面的setHints方法中提供的信息。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setHints
在接口ImageConsumer
- 参数
-
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方法中提供的信息,该接口采用字节数组。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setPixels
在接口ImageConsumer
- 参数
-
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方法中提供的信息进行过滤,该接口采用整数数组。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
setPixels
在接口ImageConsumer
- 参数
-
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方法中提供的信息。注意:此方法意图由图像的ImageProducer调用其像素被过滤。 使用此类过滤图像中的像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- Specified by:
-
imageComplete
在接口ImageConsumer
- 参数
-
status
- 图像加载的状态 - 另请参见:
-
ImageConsumer.imageComplete(int)
-
resendTopDownLeftRight
public void resendTopDownLeftRight(ImageProducer ip)
响应一个按TopDownLeftRight(TDLR)的请求顺序将像素数据重新发送从ImageConsumer
。 当ImageConsumer
由此的实例馈送ImageFilter
请求在TDLR顺序的数据的重发,所述FilteredImageSource
调用此方法ImageFilter
。一个
ImageFilter
子类可能会覆盖此方法,具体取决于是否以及如何以TDLR顺序发送数据。 存在三种可能性:- 不要覆盖此方法。 这使得子类使用默认实现,即将请求转发到使用该过滤器的指定的
ImageProducer
作为请求ImageConsumer
。 如果滤波器可以确定如果上游生成器对象以TDLR顺序发送它们,则它将以TDLR顺序转发像素,则此行为是适当的。 - 覆盖简单发送数据的方法。 如果过滤器可以处理请求本身,例如,如果生成的像素已保存在某种缓冲区中,则这是适当的。
- 覆盖该方法不执行任何操作。 如果滤波器不能以TDLR顺序产生滤波数据,这是适当的。
- 参数
-
ip
- 正在提供此过滤器实例的ImageProducer - 也是ImageProducer,如果需要,请求应转发到 - 异常
-
NullPointerException
- 如果ip
为空 - 另请参见:
-
ImageProducer.requestTopDownLeftRightResend(java.awt.image.ImageConsumer)
- 不要覆盖此方法。 这使得子类使用默认实现,即将请求转发到使用该过滤器的指定的
-
-