java.lang.Object
java.awt.image.ImageFilter
- 所有已实现的接口:
-
ImageConsumer
,Cloneable
该类实现了一组接口方法,用于从ImageProducer传递数据到ImageConsumer。它旨在与FilteredImageSource对象一起使用,以生成现有图像的经过滤的版本。这是一个基类,提供了实现“空过滤器”的调用所需的方法,该过滤器对通过的数据没有影响。过滤器应该继承这个类,并覆盖处理需要过滤并根据需要修改的数据的方法。
- 参见:
-
Field Summary
Fields declared in interface java.awt.image.ImageConsumer
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
克隆此对象。返回一个唯一的ImageFilter对象实例,该对象将实际执行指定ImageConsumer的过滤。void
imageComplete
(int status) 过滤ImageConsumer接口的imageComplete方法中提供的信息。void
响应对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) 在添加指示已经通过的过滤器流的属性后,从源对象传递属性。
-
Field Details
-
consumer
此实例的ImageFilter正在过滤数据的特定图像数据流的消费者。它不是在构造函数期间初始化的,而是在FilteredImageSource创建此对象的唯一实例时,在getFilterInstance()方法调用期间初始化。- 参见:
-
-
Constructor Details
-
ImageFilter
public ImageFilter()构造一个ImageFilter
。
-
-
Method Details
-
getFilterInstance
返回一个唯一的ImageFilter对象实例,该对象将实际执行指定ImageConsumer的过滤。默认实现只是克隆此对象。注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- 参数:
-
ic
- 指定的ImageConsumer
- 返回:
-
用于为指定的
ImageConsumer
执行过滤的ImageFilter
。
-
setDimensions
public void setDimensions(int width, int height) 过滤ImageConsumer接口的setDimensions方法中提供的信息。注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- 指定者:
-
setDimensions
在接口ImageConsumer
- 参数:
-
width
- 源图像的宽度 -
height
- 源图像的高度 - 参见:
-
setProperties
在添加指示已经通过的过滤器流的属性后,从源对象传递属性。注意:此方法旨在由正在过滤像素的图像的ImageProducer调用。使用此类来过滤图像的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。
- 指定者:
-
setProperties
在接口ImageConsumer
- 参数:
-
props
- 来自源对象的属性 - 抛出:
-
NullPointerException
- 如果props
为null
-
setColorModel
过滤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
响应对TopDownLeftRight(TDLR)顺序重新发送来自ImageConsumer的像素数据的请求。当由此ImageFilter的实例提供数据的ImageConsumer请求以TDLR顺序重新发送数据时,FilteredImageSource会调用此ImageFilter的方法。一个ImageFilter子类可能会覆盖此方法,也可能不会,这取决于它是否以及如何以TDLR顺序发送数据。存在三种可能性:
- 不要覆盖此方法。这使得子类使用默认实现,即使用此过滤器作为请求ImageConsumer将请求转发到指定的ImageProducer。如果过滤器可以确定如果其上游生产者对象以TDLR顺序发送数据,则它将以TDLR顺序转发像素,则此行为是适当的。
- 覆盖该方法以简单发送数据。如果过滤器可以自行处理请求,例如,如果生成的像素已保存在某种缓冲区中,则这是适当的。
- 覆盖该方法以不执行任何操作。如果过滤器无法以TDLR顺序生成过滤数据,则这是适当的。
- 参数:
-
ip
- 正在提供数据给此过滤器实例的ImageProducer - 也是必要时应将请求转发给的ImageProducer - 抛出:
-
NullPointerException
- 如果ip
为null - 参见:
-
clone
克隆此对象。
-