public class Shear extends ImageToImageOperation
IntegerImage.
Shear shear = new Shear(); shear.setInputImage(image); // some IntegerImage shear.setAngle(5.0); shear.process(); PixelImage shearedImage = shear.getOutputImage();
This is an adjusted version of Jef Poskanzer's shearing code from his ACME package; see the API documentation page of ACME's Shear class.
| Modifier and Type | Field | Description |
|---|---|---|
private double |
angle |
| Constructor | Description |
|---|---|
Shear() |
| Modifier and Type | Method | Description |
|---|---|---|
static int |
computeNewImageWidth(int oldImageWidth,
int height,
double angle) |
For a given image width and shearing angle this method
computes the width of the resulting image.
|
double |
getAngle() |
Returns the angle associated with this shearing operation object.
|
void |
process() |
This method does the actual work of the operation.
|
private void |
process(IntegerImage in,
IntegerImage out) |
|
void |
setAngle(double newAngle) |
Sets the angle to be used in the shearing operation to the argument value.
|
canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImageclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgresspublic static int computeNewImageWidth(int oldImageWidth,
int height,
double angle)
oldImageWidth - horizontal resolution of the image to be shearedheight - height of the image to be shearedangle - the angle to be used in the shearing operationpublic double getAngle()
setAngle(double)private void process(IntegerImage in, IntegerImage out)
public void process()
throws MissingParameterException,
WrongParameterException
Operationprocess in class OperationMissingParameterException - if any mandatory parameter was not given to the operationWrongParameterException - if at least one of the input parameters was
not initialized appropriately (values out of the valid interval, etc.)public void setAngle(double newAngle)
newAngle - the angle to be used in this operationIllegalArgumentException - if the argument is not in the above mentioned intervalgetAngle()