JIU 0.12.0 Homepage

net.sourceforge.jiu.geometry
Class Shear

java.lang.Object
  extended bynet.sourceforge.jiu.ops.Operation
      extended bynet.sourceforge.jiu.ops.ImageToImageOperation
          extended bynet.sourceforge.jiu.geometry.Shear

public class Shear
extends ImageToImageOperation

Shears an image by a given angle. The angle must be larger than -90 and smaller than 90 degrees. Shearing works with all image types that implement IntegerImage.

Usage example

 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.

Author:
Jef Poskanzer, Marco Schmidt

Constructor Summary
Shear()
           
 
Method Summary
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.
 void setAngle(double newAngle)
          Sets the angle to be used in the shearing operation to the argument value.
 
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
 

Constructor Detail

Shear

public Shear()
Method Detail

computeNewImageWidth

public 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. This method is static so that it can be called easily from a GUI dialog or other objects that want to present the width of a sheared image.

Parameters:
oldImageWidth - horizontal resolution of the image to be sheared
height - height of the image to be sheared
angle - the angle to be used in the shearing operation
Returns:
width of the sheared image

getAngle

public double getAngle()
Returns the angle associated with this shearing operation object.

Returns:
shearing angle, between -90 and 90
See Also:
setAngle(double)

process

public void process()
             throws MissingParameterException,
                    WrongParameterException
Description copied from class: Operation
This method does the actual work of the operation. It must be called after all parameters have been given to the operation object.

Overrides:
process in class Operation
Throws:
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.)

setAngle

public void setAngle(double newAngle)
Sets the angle to be used in the shearing operation to the argument value. The angle must be larger than -90.0 and smaller than 90.0.

Parameters:
newAngle - the angle to be used in this operation
Throws:
IllegalArgumentException - if the argument is not in the above mentioned interval
See Also:
getAngle()

JIU 0.12.0 Homepage

Copyright © 2000, 2001, 2002, 2003, 2004 Marco Schmidt