java.awt.image
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
This filter should produce images which do not have image artifacts
like broken lines which were originally unbroken. The cost is of
course speed. Using bi-linear interpolation here against 4 pixel
points should give the desired results although Sun does not
specify what the exact algorithm should be.
|
Constructor Summary |
AreaAveragingScaleFilter(int width,
int height)
Construct an instance of AreaAveragingScaleFilter which
should be used in conjunction with a FilteredImageSource
object. |
|
Method Summary |
void |
setHints(int flags)
The ImageProducer should call this method with a
bit mask of hints from any of RANDOMPIXELORDER,
TOPDOWNLEFTRIGHT, COMPLETESCANLINES,
SINGLEPASS, SINGLEFRAME from the
ImageConsumer interface. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int offset,
int scansize)
This function delivers a rectangle of pixels where any
pixel(m,n) is stored in the array as a byte at
index (n * scansize + m + offset). |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int offset,
int scansize)
This function delivers a rectangle of pixels where any
pixel(m,n) is stored in the array as an int at
index (n * scansize + m + offset). |
AreaAveragingScaleFilter
public AreaAveragingScaleFilter(int width,
int height)
- Construct an instance of
AreaAveragingScaleFilter which
should be used in conjunction with a FilteredImageSource
object.
- Parameters:
width - the width of the destination imageheight - the height of the destination image
setHints
public void setHints(int flags)
- The
ImageProducer should call this method with a
bit mask of hints from any of RANDOMPIXELORDER,
TOPDOWNLEFTRIGHT, COMPLETESCANLINES,
SINGLEPASS, SINGLEFRAME from the
ImageConsumer interface.
FIXME - more than likely Sun's implementation desires
TOPDOWNLEFTRIGHT order and this method is overloaded here
in order to assure that mask is part of the hints added to
the consumer.
- Specified by:
setHints in interface ImageConsumer- Overrides:
setHints in class ImageFilter
- Parameters:
flags - a bit mask of hints- See Also:
ImageConsumer
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int offset,
int scansize)
- This function delivers a rectangle of pixels where any
pixel(m,n) is stored in the array as a
byte at
index (n * scansize + m + offset).
- Specified by:
setPixels in interface ImageConsumer- Overrides:
setPixels in class ReplicateScaleFilter
- Parameters:
x - the x coordinate of the rectangley - the y coordinate of the rectanglew - the width of the rectangleh - the height of the rectanglemodel - the ColorModel used to translate the pixelspixels - the array of pixel valuesoffset - the index of the first pixels in the pixels arrayscansize - the width to use in extracting pixels from the pixels array
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int offset,
int scansize)
- This function delivers a rectangle of pixels where any
pixel(m,n) is stored in the array as an
int at
index (n * scansize + m + offset).
- Specified by:
setPixels in interface ImageConsumer- Overrides:
setPixels in class ReplicateScaleFilter
- Parameters:
x - the x coordinate of the rectangley - the y coordinate of the rectanglew - the width of the rectangleh - the height of the rectanglemodel - the ColorModel used to translate the pixelspixels - the array of pixel valuesoffset - the index of the first pixels in the pixels arrayscansize - the width to use in extracting pixels from the pixels array