Package com.day.image

Class StampOp

All Implemented Interfaces:
BufferedImageOp

public class StampOp extends AbstractBufferedImageOp
The StampOp is an image operation, which may scale the source image to the destination image and put a stamp mark ontop of the (scaled) destination image. The location and size as well as the mark it self must be provided to the operation before the filter method is called. The operation can be reused to stamp multiple images.

Sample use:

 // create op with no rendering hints
 StampOp op = new StampOp();

 // set the stamp image
 op.setStamp(watermarkImage);

 // set the top,left location, default is (0, 0)
 op.setStampLocation(20, 20);

 // set the stamp size, default is (15, 15)
 op.setStampSize(30, 30);

 // draw stamp with 50% opacity (default is 100% opacity)
 op.setStampComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 0.5f));

 // apply the stamp
 stampedImage = op.filter(rawImage, null);
 
  • Constructor Details

    • StampOp

      public StampOp(RenderingHints hints)
      Creates an instance of this operation with the given rendering hints.
      Parameters:
      hints - The rendering hints to apply for the filter operation. This may be null.
    • StampOp

      public StampOp()
      Creates an instance of this operation with no rendering hints.
  • Method Details

    • setStamp

      public void setStamp(BufferedImage stamp)
      Sets the stamp image. If this is null, the operation does nothing else than copying the source image into the destination image.
    • getStamp

      public BufferedImage getStamp()
      Returns the stamp image or null if it has not yet been set.
    • setStampLocation

      public void setStampLocation(int x, int y)
      Sets the top, left location of the stamp.
    • setStampSize

      public void setStampSize(int width, int height)
      Sets the width and height of the stamp to be drawn.
    • getStampPosition

      public Rectangle2D getStampPosition()
      Returns the stamp location and size as a rectangle whose x and y fields define the top,left position and the width and height of the rectangle define the width and height of the stamp.
    • setStampComposite

      public void setStampComposite(Composite stampComposite)
      Sets the Composite used to draw the stamp on the image. The default value is AlphaComposite.Src which draws the stamp with full opacity.
      Parameters:
      stampComposite - The Composite. If this is null the current composite is not replaced.
    • getStampComposite

      public Composite getStampComposite()
      Returns the current composite used to draw the image.
    • filter

      public BufferedImage filter(BufferedImage src, BufferedImage dst)
      Applies the stamp on the source image. If the src image is equal to the destination image, the stamp is drawn on the original image thus modifying the src image. Otherwise the source image is first copied to the destination, optionally resizing if the destination has a different size. If the destination image is null a new image with the same size and color setup as the source image is created to draw the source image and stamp.
      Specified by:
      filter in interface BufferedImageOp
      Overrides:
      filter in class AbstractBufferedImageOp
      Parameters:
      src - The src image to be operated upon.
      dst - The dest image into which to place the modified image. This may be null in which case a new image with the correct size will be created.
      Returns:
      The newly created image (if dest was null) or dest into which the resized src image has been drawn.