java.lang.Object
java.awt.image.ImageFilter
java.awt.image.ReplicateScaleFilter
java.awt.image.AreaAveragingScaleFilter
- 所有已实现的接口:
-
ImageConsumer
,Cloneable
一个用于使用简单区域平均算法缩放图像的ImageFilter类,该算法产生比最近邻算法更平滑的结果。
此类扩展了基本的ImageFilter类,以缩放现有图像并提供包含重新采样图像的新图像的源。源图像中的像素被混合以生成指定大小图像的像素。混合过程类似于将源图像放大到目标大小的倍数,使用像素复制,然后通过简单地对目标图像中给定像素范围内的超大图像中的所有像素进行平均来将其缩小到目标大小。如果源数据未按TopDownLeftRight顺序传递,则过滤器将退回到简单的像素复制行为,并利用requestTopDownLeftRightResend()方法在最后以更好的方式重新过滤像素。
它旨在与FilteredImageSource对象一起使用,以生成现有图像的缩放版本。由于实现依赖关系,对于在不同平台上过滤的图像的像素值可能会有差异。
- 参见:
-
Field Summary
Fields declared in class java.awt.image.ReplicateScaleFilter
destHeight, destWidth, outpixbuf, srccols, srcHeight, srcrows, srcWidth
Fields declared in class java.awt.image.ImageFilter
consumer
Fields declared in interface java.awt.image.ImageConsumer
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
-
Constructor Summary
ConstructorDescriptionAreaAveragingScaleFilter
(int width, int height) 构造一个AreaAveragingScaleFilter,根据宽度和高度参数缩放其源图像的像素。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
setHints
(int hints) 检测数据是否以必要的提示传递,以允许平均算法执行其工作。void
setPixels
(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) 将传递的字节像素的组件合并到累积数组中,并发送任何完成像素行的平均数据。void
setPixels
(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) 将传递的整数像素的组件合并到累积数组中,并发送任何完成像素行的平均数据。Methods declared in class java.awt.image.ReplicateScaleFilter
setDimensions, setProperties
Methods declared in class java.awt.image.ImageFilter
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setColorModel
-
Constructor Details
-
AreaAveragingScaleFilter
public AreaAveragingScaleFilter(int width, int height) 构造一个AreaAveragingScaleFilter,根据宽度和高度参数缩放其源图像的像素。- 参数:
-
width
- 缩放图像的目标宽度 -
height
- 缩放图像的目标高度 - 抛出:
-
IllegalArgumentException
- 如果width
等于零或height
等于零
-
-
Method Details
-
setHints
public void setHints(int hints) 检测数据是否以必要的提示传递,以允许平均算法执行其工作。注意:此方法旨在由正在过滤其像素的
Image
的ImageProducer
调用。使用此类来过滤图像像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。- 指定者:
-
setHints
在接口ImageConsumer
中 - 覆盖:
-
setHints
在类ImageFilter
中 - 参数:
-
hints
- ImageConsumer用于处理像素的一组提示 - 参见:
-
setPixels
public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) 将传递的字节像素的组件合并到累积数组中,并发送任何完成像素行的平均数据。如果在setHints调用中未指定正确的提示,则将工作转发给我们的超类,该超类能够缩放像素,而不管传递提示。注意:此方法旨在由正在过滤其像素的
Image
的ImageProducer
调用。使用此类来过滤图像像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。- 指定者:
-
setPixels
在接口ImageConsumer
中 - 覆盖:
-
setPixels
在类ReplicateScaleFilter
中 - 参数:
-
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) 将传递的整数像素的组件合并到累积数组中,并发送任何完成像素行的平均数据。如果在setHints调用中未指定正确的提示,则将工作转发给我们的超类,该超类能够缩放像素,而不管传递提示。注意:此方法旨在由正在过滤其像素的
Image
的ImageProducer
调用。使用此类来过滤图像像素的开发人员应避免直接调用此方法,因为该操作可能会干扰过滤操作。- 指定者:
-
setPixels
在接口ImageConsumer
中 - 覆盖:
-
setPixels
在类ReplicateScaleFilter
中 - 参数:
-
x
- 要设置像素区域的左上角的X坐标 -
y
- 要设置像素区域的左上角的Y坐标 -
w
- 像素区域的宽度 -
h
- 像素区域的高度 -
model
- 指定的ColorModel
-
pixels
- 像素数组 -
off
- 像素数组中的偏移量 -
scansize
- 像素数组中从一行像素到下一行的距离 - 参见:
-