JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
类 AreaAveragingScaleFilter

java.lang.Object
  继承者 java.awt.image.ImageFilter
      继承者 java.awt.image.ReplicateScaleFilter
          继承者 java.awt.image.AreaAveragingScaleFilter
所有已实现的接口:
ImageConsumer, Cloneable

public class AreaAveragingScaleFilter
extends ReplicateScaleFilter

这是一个 ImageFilter 类,它使用一个简单的区域平均算法来进行图像缩放,该算法产生比其最相近算法更平滑的结果。

此类扩展 ImageFilter 基类来对现有图像进行缩放,并为包含重新取样图像的新图像提供一个源图像。源图像中的像素被混合以产生指定尺寸图像的像素。混合过程类似于以下过程:首先使用像素复制将源图像按比例放大为目标尺寸的若干倍,其后通过对落在目标图像给定像素内的超大尺寸图像中的所有像素简单地进行平均,将图像按比例缩小回目标尺寸。如果源数据不按 TopDownLeftRight 顺序传送,则过滤器将退回为一个简单的像素复制行为,并最终使用 requestTopDownLeftRightResend() 方法以一种更好的方式来重新过滤像素。

这意味着它可与 FilteredImageSource 对象联合使用,以生成现有图像的缩放版本。由于与实现相关,不同平台上过滤的图像像素值可能存在差异。

另请参见:
FilteredImageSource, ReplicateScaleFilter, ImageFilter

字段摘要
 
从类 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
 

构造方法详细信息

AreaAveragingScaleFilter

public AreaAveragingScaleFilter(int width,
                                int height)
构造一个 AreaAveragingScaleFilter,它对由 width 和 height 参数所指定的源图像的像素进行缩放。

参数:
width - 要缩放图像的目标宽度
height - 要缩放图像的目标高度
方法详细信息

setHints

public void setHints(int hints)
检测数据是否正使用必要的提示进行传送,从而允许平均算法执行其功能。

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

指定者:
接口 ImageConsumer 中的 setHints
覆盖:
ImageFilter 中的 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)
将已传送 byte 像素的分量组合到累加数组,并发送所有已完成像素行的平均数据。如果在 setHints 的调用中没有指定正确的提示,则将工作转交给超类,不管何种传送提示,超类都可以对像素进行缩放。

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

指定者:
接口 ImageConsumer 中的 setPixels
覆盖:
ReplicateScaleFilter 中的 setPixels
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ReplicateScaleFilter

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      int[] pixels,
                      int off,
                      int scansize)
将已传送 int 像素的分量组合到累加数组,并发送所有已完成像素行的平均数据。如果在 setHints 的调用中没有指定正确的提示,则将工作转交给超类,不管何种传送提示,超类都可以对像素进行缩放。

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

指定者:
接口 ImageConsumer 中的 setPixels
覆盖:
ReplicateScaleFilter 中的 setPixels
w - 像素区域的宽度
h - 像素区域的高度
model - 指定的 ColorModel
pixels - 像素数组
off - pixels 数组中的偏移量
scansize - pixels 数组中一行像素到下一行的距离
另请参见:
ReplicateScaleFilter

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策