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