java.lang.Object java.awt.image.ImageFilter java.awt.image.ReplicateScaleFilter java.awt.image.AreaAveragingScaleFilter
public class AreaAveragingScaleFilter
这是一个 ImageFilter 类,它使用一个简单的区域平均算法来进行图像缩放,该算法产生比其最相近算法更平滑的结果。
此类扩展 ImageFilter 基类来对现有图像进行缩放,并为包含重新取样图像的新图像提供一个源图像。源图像中的像素被混合以产生指定尺寸图像的像素。混合过程类似于以下过程:首先使用像素复制将源图像按比例放大为目标尺寸的若干倍,其后通过对落在目标图像给定像素内的超大尺寸图像中的所有像素简单地进行平均,将图像按比例缩小回目标尺寸。如果源数据不按 TopDownLeftRight 顺序传送,则过滤器将退回为一个简单的像素复制行为,并最终使用 requestTopDownLeftRightResend() 方法以一种更好的方式来重新过滤像素。
这意味着它可与 FilteredImageSource 对象联合使用,以生成现有图像的缩放版本。由于与实现相关,不同平台上过滤的图像像素值可能存在差异。
字段摘要 |
---|
从类 java.awt.image.ReplicateScaleFilter 继承的字段 |
---|
destHeight, destWidth, outpixbuf, srccols, srcHeight, srcrows, srcWidth |
从类 java.awt.image.ImageFilter 继承的字段 |
---|
consumer |
从接口 java.awt.image.ImageConsumer 继承的字段 |
---|
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT |
构造方法摘要 | |
---|---|
AreaAveragingScaleFilter(int width, int height) 构造一个 AreaAveragingScaleFilter,它对由 width 和 height 参数所指定的源图像的像素进行缩放。 |
方法摘要 | |
---|---|
void |
setHints(int hints) 检测数据是否正使用必要的提示进行传送,从而允许平均算法执行其功能。 |
void |
setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) 将已传送 byte 像素的分量组合到累加数组,并发送所有已完成像素行的平均数据。 |
void |
setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) 将已传送 int 像素的分量组合到累加数组,并发送所有已完成像素行的平均数据。 |
从类 java.awt.image.ReplicateScaleFilter 继承的方法 |
---|
setDimensions, setProperties |
从类 java.awt.image.ImageFilter 继承的方法 |
---|
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setColorModel |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public AreaAveragingScaleFilter(int width, int height)
width
- 要缩放图像的目标宽度
height
- 要缩放图像的目标高度
方法详细信息 |
---|
public void setHints(int hints)
注:此方法将由 Image
(其像素正被过滤)的 ImageProducer
调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该操作可能干扰过滤操作。
ImageConsumer
中的
setHints
ImageFilter
中的
setHints
hints
- ImageConsumer 用于处理像素的提示集合
ImageConsumer.setHints(int)
public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
注:此方法将由 Image
(其像素正被过滤)的 ImageProducer
调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该操作可能干扰过滤操作。
ImageConsumer
中的
setPixels
ReplicateScaleFilter
中的
setPixels
x
- 要设置的像素区域左上角的 X 坐标
y
- 要设置的像素区域左上角的 Y 坐标
w
- 像素区域的宽度
h
- 像素区域的高度
model
- 指定的
ColorModel
pixels
- 像素数组
off
-
pixels
数组中的偏移量
scansize
-
pixels
数组中一行像素到下一行的距离
ReplicateScaleFilter
public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
注:此方法将由 Image
(其像素正被过滤)的 ImageProducer
调用。使用此类过滤图像像素的开发人员应该避免直接调用此方法,因为该操作可能干扰过滤操作。
ImageConsumer
中的
setPixels
ReplicateScaleFilter
中的
setPixels
x
- 要设置的像素区域左上角的 X 坐标
y
- 要设置的像素区域左上角的 Y 坐标
w
- 像素区域的宽度
h
- 像素区域的高度
model
- 指定的
ColorModel
pixels
- 像素数组
off
-
pixels
数组中的偏移量
scansize
-
pixels
数组中一行像素到下一行的距离
ReplicateScaleFilter