java.awt.image

Interface BufferedImageOp

Known Implementing Classes:
AffineTransformOp, ColorConvertOp, ConvolveOp, LookupOp, RescaleOp

public interface BufferedImageOp

This interface describes single-input/single-output operations performed on BufferedImage objects. It is implemented by AffineTransformOp, ConvolveOp, ColorConvertOp, RescaleOp, and LookupOp. These objects can be passed into a BufferedImageFilter to operate on a BufferedImage in the ImageProducer-ImageFilter-ImageConsumer paradigm.

Classes that implement this interface must specify whether or not they allow in-place filtering-- filter operations where the source object is equal to the destination object.

This interface cannot be used to describe more sophisticated operations such as those that take multiple sources. Note that this restriction also means that the values of the destination pixels prior to the operation are not used as input to the filter operation.

See Also:
BufferedImage, BufferedImageFilter, AffineTransformOp, BandCombineOp, ColorConvertOp, ConvolveOp, LookupOp, RescaleOp

Method Summary

BufferedImage
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
Creates a zeroed destination image with the correct size and number of bands.
BufferedImage
filter(BufferedImage src, BufferedImage dest)
Performs a single-input/single-output operation on a BufferedImage.
Rectangle2D
getBounds2D(BufferedImage src)
Returns the bounding box of the filtered destination image.
Point2D
getPoint2D(Point2D srcPt, Point2D dstPt)
Returns the location of the corresponding destination point given a point in the source image.
RenderingHints
getRenderingHints()
Returns the rendering hints for this operation.

Method Details

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
Creates a zeroed destination image with the correct size and number of bands. An IllegalArgumentException may be thrown if the source image is incompatible with the types of images allowed by the class implementing this filter.
Parameters:
src - The BufferedImage to be filtered
destCM - ColorModel of the destination. If null, the ColorModel of the source is used.
Returns:
The zeroed destination image.
Usages and Demos :

View More Examples of createCompatibleDestImage(BufferedImage src,ColorModel destCM)
   1: import java.awt.image.BufferedImage;
   2: import java.awt.image.BufferedImageOp;
   3: import java.awt.image.ImageObserver;
   4:         ...
   5:   public void drawImage (final BufferedImage img,
   6:                          final BufferedImageOp op,
   7:                          final int x,
   8:         ...
   9:   {
  10:     BufferedImage result = op.createCompatibleDestImage(img, img.getColorModel());
  11:     result = op.filter(img, result);

View Full Code Here
   1: import java.awt.image.BufferedImage;
   2: import java.awt.image.BufferedImageOp;
   3: import java.awt.image.ColorModel;
   4:         ...
   5:     
   6:     public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
   7:         BufferedImage result = img;
   8:         ...
   9:         if (op != null) {
  10:             result = op.createCompatibleDestImage(img, img.getColorModel());
  11:             result = op.filter(img, result);

View Full Code Here
   1: import java.awt.image.BufferedImage;
   2: import java.awt.image.BufferedImageOp;
   3: import java.awt.image.ColorModel;
   4:         ...
   5: 
   6:   public void drawImage(BufferedImage image, BufferedImageOp op, int x, int y)
   7:   {
   8:         ...
   9:     BufferedImage filtered =
  10:       op.createCompatibleDestImage(image, image.getColorModel());
  11:     AffineTransform t = new AffineTransform();

View Full Code Here

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dest)
Performs a single-input/single-output operation on a BufferedImage. If the color models for the two images do not match, a color conversion into the destination color model is performed. If the destination image is null, a BufferedImage with an appropriate ColorModel is created.

An IllegalArgumentException may be thrown if the source and/or destination image is incompatible with the types of images $ allowed by the class implementing this filter.

Parameters:
src - The BufferedImage to be filtered
dest - The BufferedImage in which to store the results$
Returns:
The filtered BufferedImage.
Throws:
IllegalArgumentException - If the source and/or destination image is not compatible with the types of images allowed by the class implementing this filter.
Usages and Demos :

View More Examples of filter(BufferedImage src,BufferedImage dest)
   1: import java.awt.image.BufferedImage;
   2: import java.awt.image.BufferedImageOp;
   3: import java.awt.image.ConvolveOp;
   4:         ...
   5:         RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
   6:         BufferedImageOp bright = new ConvolveOp(new Kernel(1, 1, brightKernel), ConvolveOp.EDGE_NO_OP, hints);
   7:         ...
   8:         bright.filter(originalImage, convolvedImage);
   9:         repaint();

View Full Code Here
   1: 
   2:    private void filter(BufferedImageOp op)
   3:    {  
   4:         ...
   5:          = new BufferedImage(image.getWidth(), image.getHeight(), image.getType());
   6:       op.filter(image, filteredImage);
   7:       image = filteredImage;
   8:       repaint();
   9:    }

View Full Code Here
   1:                 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f });
   2:         BufferedImageOp op = new ConvolveOp(kernel);
   3: 
   4:         ...
   5:         for (int i = 0; i < 4; i++)
   6:             transImage = op.filter(transImage, null);
   7: 
   8:         Graphics2D gd = transImage.createGraphics();

View Full Code Here
   1:                 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f, 1f / 9f });
   2:         BufferedImageOp op = new ConvolveOp(kernel);
   3: 
   4:         ...
   5:         for (int i = 0; i < 4; i++)
   6:             transImage = op.filter(transImage, null);
   7: 
   8:         Graphics2D gd = transImage.createGraphics();

View Full Code Here
   1:   private Graphics2D gIn;
   2:   private BufferedImageOp op;
   3:   private Inspector inspector;
   4:         ...
   5:       gIn.drawImage(source, 0, 0, null);
   6:       op.filter(input, output);
   7:     return output;
   8:   }

View Full Code Here

getBounds2D

public Rectangle2D getBounds2D(BufferedImage src)
Returns the bounding box of the filtered destination image. An IllegalArgumentException may be thrown if the source image is incompatible with the types of images allowed by the class implementing this filter.
Parameters:
src - The BufferedImage to be filtered
Returns:
The Rectangle2D representing the destination image's bounding box.

getPoint2D

public Point2D getPoint2D(Point2D srcPt,
                          Point2D dstPt)
Returns the location of the corresponding destination point given a point in the source image. If dstPt is specified, it is used to hold the return value.
Parameters:
srcPt - the Point2D that represents the point in the source image
dstPt - The Point2D in which to store the result
Returns:
The Point2D in the destination image that corresponds to the specified point in the source image.

getRenderingHints

public RenderingHints getRenderingHints()
Returns the rendering hints for this operation.
Returns:
The RenderingHints object for this BufferedImageOp Returns null if no hints have been set.