Spec-Zone.ru › OpenJDK 27

Class AreaAveragingScaleFilter

java.lang.Object
java.awt.image.ImageFilter
java.awt.image.ReplicateScaleFilter
java.awt.image.AreaAveragingScaleFilter
All Implemented Interfaces:
ImageConsumer, Cloneable
public class AreaAveragingScaleFilter extends ReplicateScaleFilter
An ImageFilter class for scaling images using a simple area averaging algorithm that produces smoother results than the nearest neighbor algorithm.

This class extends the basic ImageFilter Class to scale an existing image and provide a source for a new image containing the resampled image. The pixels in the source image are blended to produce pixels for an image of the specified size. The blending process is analogous to scaling up the source image to a multiple of the destination size using pixel replication and then scaling it back down to the destination size by simply averaging all the pixels in the supersized image that fall within a given pixel of the destination image. If the data from the source is not delivered in TopDownLeftRight order then the filter will back off to a simple pixel replication behavior and utilize the requestTopDownLeftRightResend() method to refilter the pixels in a better way at the end.

It is meant to be used in conjunction with a FilteredImageSource object to produce scaled versions of existing images. Due to implementation dependencies, there may be differences in pixel values of an image filtered on different platforms.

See Also:
  • FilteredImageSource
  • ReplicateScaleFilter
  • ImageFilter

Field Summary

Fields declared in class ReplicateScaleFilter

destHeight, destWidth, outpixbuf, srccols, srcHeight, srcrows, srcWidth
Modifier and Type Field Description
protected int destHeight
The target height to scale the image.
protected int destWidth
The target width to scale the image.
protected Object outpixbuf
A byte array initialized with a size of ReplicateScaleFilter.destWidth and used to deliver a row of pixel data to the ImageConsumer.
protected int[] srccols
An int array containing information about a column of pixels.
protected int srcHeight
The height of the source image.
protected int[] srcrows
An int array containing information about a row of pixels.
protected int srcWidth
The width of the source image.

Fields declared in class ImageFilter

consumer
Modifier and Type Field Description
protected ImageConsumer consumer
The consumer of the particular image data stream for which this instance of the ImageFilter is filtering data.

Fields declared in interface ImageConsumer

COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
Modifier and Type Field Description
static final int COMPLETESCANLINES
The pixels will be delivered in (multiples of) complete scanlines at a time.
static final int IMAGEABORTED
The image creation process was deliberately aborted.
static final int IMAGEERROR
An error was encountered while producing the image.
static final int RANDOMPIXELORDER
The pixels will be delivered in a random order.
static final int SINGLEFRAME
The image contain a single static image.
static final int SINGLEFRAMEDONE
One frame of the image is complete but there are more frames to be delivered.
static final int SINGLEPASS
The pixels will be delivered in a single pass.
static final int STATICIMAGEDONE
The image is complete and there are no more pixels or frames to be delivered.
static final int TOPDOWNLEFTRIGHT
The pixels will be delivered in top-down, left-to-right order.

Constructor Summary

Constructor Description
AreaAveragingScaleFilter(int width, int height)
Constructs an AreaAveragingScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.

Method Summary

Modifier and Type Method Description
void setHints(int hints)
Detect if the data is being delivered with the necessary hints to allow the averaging algorithm to do its work.
void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
Combine the components for the delivered byte pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete.
void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
Combine the components for the delivered int pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete.

Methods declared in class ReplicateScaleFilter

setDimensions, setProperties
Modifier and Type Method Description
void setDimensions(int w, int h)
Override the dimensions of the source image and pass the dimensions of the new scaled size to the ImageConsumer.
void setProperties(Hashtable<?,?> props)
Passes along the properties from the source object after adding a property indicating the scale applied.

Methods declared in class ImageFilter

clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setColorModel
Modifier and Type Method Description
Object clone()
Clones this object.
ImageFilter getFilterInstance(ImageConsumer ic)
Returns a unique instance of an ImageFilter object which will actually perform the filtering for the specified ImageConsumer.
void imageComplete(int status)
Filters the information provided in the imageComplete method of the ImageConsumer interface.
void resendTopDownLeftRight(ImageProducer ip)
Responds to a request for a TopDownLeftRight (TDLR) ordered resend of the pixel data from an ImageConsumer.
void setColorModel(ColorModel model)
Filter the information provided in the setColorModel method of the ImageConsumer interface.

Methods declared in class Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and Type Method Description
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String toString()
Returns a string representation of the object.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Constructor Details

AreaAveragingScaleFilter

public AreaAveragingScaleFilter(int width, int height)
Constructs an AreaAveragingScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.
Parameters:
width - the target width to scale the image
height - the target height to scale the image
Throws:
IllegalArgumentException - if width equals zero or height equals zero

Method Details

setHints

public void setHints(int hints)
Detect if the data is being delivered with the necessary hints to allow the averaging algorithm to do its work.

Note: This method is intended to be called by the ImageProducer of the Image whose pixels are being filtered. Developers using this class to filter pixels from an image should avoid calling this method directly since that operation could interfere with the filtering operation.

Specified by:
setHints in interface ImageConsumer
Overrides:
setHints in class ImageFilter
Parameters:
hints - a set of hints that the ImageConsumer uses to process the pixels
See Also:
  • ImageConsumer.setHints(int)

setPixels

public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
Combine the components for the delivered byte pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete. If the correct hints were not specified in the setHints call then relay the work to our superclass which is capable of scaling pixels regardless of the delivery hints.

Note: This method is intended to be called by the ImageProducer of the Image whose pixels are being filtered. Developers using this class to filter pixels from an image should avoid calling this method directly since that operation could interfere with the filtering operation.

Specified by:
setPixels in interface ImageConsumer
Overrides:
setPixels in class ReplicateScaleFilter
Parameters:
x - the X coordinate of the upper-left corner of the area of pixels to be set
y - the Y coordinate of the upper-left corner of the area of pixels to be set
w - the width of the area of pixels
h - the height of the area of pixels
model - the specified ColorModel
pixels - the array of pixels
off - the offset into the pixels array
scansize - the distance from one row of pixels to the next in the pixels array
See Also:
  • ReplicateScaleFilter

setPixels

public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
Combine the components for the delivered int pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete. If the correct hints were not specified in the setHints call then relay the work to our superclass which is capable of scaling pixels regardless of the delivery hints.

Note: This method is intended to be called by the ImageProducer of the Image whose pixels are being filtered. Developers using this class to filter pixels from an image should avoid calling this method directly since that operation could interfere with the filtering operation.

Specified by:
setPixels in interface ImageConsumer
Overrides:
setPixels in class ReplicateScaleFilter
Parameters:
x - the X coordinate of the upper-left corner of the area of pixels to be set
y - the Y coordinate of the upper-left corner of the area of pixels to be set
w - the width of the area of pixels
h - the height of the area of pixels
model - the specified ColorModel
pixels - the array of pixels
off - the offset into the pixels array
scansize - the distance from one row of pixels to the next in the pixels array
See Also:
  • ReplicateScaleFilter

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API