|
JIU 0.14.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.geometry.Resample
public class Resample
Resizes grayscale and truecolor images using filters.
For other image types (including paletted or bilevel images), you might
want to use the ScaleReplication
class or convert the images to
grayscale (or RGB truecolor) first and then use this class.
Several algorithms for resampling are implemented, they differ in resulting image quality
and computational complexity.
image
to 150 percent of its original size
in both directions, using the Lanczos3 filter type:
Resample resample = new Resample(); resample.setInputImage(image); resample.setSize(image.getWidth() * 3 / 2, image.getHeight() * 3 / 2); resample.setFilter(Resample.FILTER_TYPE_LANCZOS3); resample.process(); PixelImage scaledImage = resample.getOutputImage();
FILTER_TYPE_BOX
can lead to errors in the scaled image.
No fix known yet. Workaround: Use the class ScaleReplication
.The Graphics Gems Repository can be found at http://www.acm.org/tog/GraphicsGems/. It also includes information on the books and how to order them.
Field Summary | |
---|---|
static int |
FILTER_TYPE_B_SPLINE
Constant for the B-Spline filter. |
static int |
FILTER_TYPE_BELL
Constant for the Bell filter. |
static int |
FILTER_TYPE_BOX
Constant for the Box filter (also known as Nearest Neighbor filter). |
static int |
FILTER_TYPE_HERMITE
Constant for the Hermite filter. |
static int |
FILTER_TYPE_LANCZOS3
Constant for the Lanczos3 filter. |
static int |
FILTER_TYPE_MITCHELL
Constant for the Mitchell filter. |
static int |
FILTER_TYPE_TRIANGLE
Constant for the Triangle filter (also known as Linear filter or Bilinear filter). |
Constructor Summary | |
---|---|
Resample()
|
Method Summary | |
---|---|
ResampleFilter |
getFilter()
Returns the filter to be used in this operation. |
static String[] |
getFilterNames()
Returns the names of all predefined filters. |
static int |
getNumFilters()
Returns the number of predefined filters. |
void |
process()
This method does the actual work of the operation. |
void |
setFilter(int filterType)
Sets a new filter type, using the default sampling radius of that filter. |
void |
setFilter(int filterType,
float samplingRadius)
Sets a new filter type with a user-defined sampling radius. |
void |
setFilter(ResampleFilter newFilter)
Set a new filter object to be used with this operation. |
void |
setSize(int width,
int height)
Set the pixel resolution of the output image. |
Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation |
---|
canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage |
Methods inherited from class net.sourceforge.jiu.ops.Operation |
---|
addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int FILTER_TYPE_BOX
public static final int FILTER_TYPE_TRIANGLE
public static final int FILTER_TYPE_HERMITE
public static final int FILTER_TYPE_BELL
public static final int FILTER_TYPE_B_SPLINE
public static final int FILTER_TYPE_LANCZOS3
public static final int FILTER_TYPE_MITCHELL
Constructor Detail |
---|
public Resample()
Method Detail |
---|
public ResampleFilter getFilter()
null
if none was defined yetpublic static String[] getFilterNames()
public static int getNumFilters()
public void process() throws MissingParameterException, WrongParameterException
Operation
process
in class Operation
MissingParameterException
- if any mandatory parameter was not given to the operation
WrongParameterException
- if at least one of the input parameters was
not initialized appropriately (values out of the valid interval, etc.)public void setSize(int width, int height)
width
- the horizontal resolution of the output imageheight
- the vertical resolution of the output imagepublic void setFilter(ResampleFilter newFilter)
newFilter
- a resample filter to be used for scalingpublic void setFilter(int filterType)
filterType
- the new filter type, one of the FILTER_TYPE_xyz constants of this classpublic void setFilter(int filterType, float samplingRadius)
filterType
- the new filter type, one of the FILTER_TYPE_xyz constants of this classsamplingRadius
- the sampling radius to be used with that filter, must be larger than 0.0f
|
JIU 0.14.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |