Class CopyDither

  • All Implemented Interfaces:
    java.awt.image.BufferedImageOp, java.awt.image.RasterOp

    public class CopyDither
    extends java.lang.Object
    implements java.awt.image.BufferedImageOp, java.awt.image.RasterOp
    This BufferedImageOp simply copies pixels, converting to a IndexColorModel.
    Version:
    $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/image/CopyDither.java#1 $
    Author:
    Harald Kuhr, last modified by $Author: haku $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.image.IndexColorModel indexColorModel  
    • Constructor Summary

      Constructors 
      Constructor Description
      CopyDither()
      Creates a CopyDither, with no fixed IndexColorModel.
      CopyDither​(java.awt.image.IndexColorModel pICM)
      Creates a CopyDither, using the given IndexColorModel for dithering into.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.image.BufferedImage createCompatibleDestImage​(java.awt.image.BufferedImage pSource, java.awt.image.ColorModel pDestCM)
      Creates a compatible BufferedImage to dither into.
      java.awt.image.WritableRaster createCompatibleDestRaster​(java.awt.image.Raster pSrc)
      Creates a compatible Raster to dither into.
      java.awt.image.WritableRaster createCompatibleDestRaster​(java.awt.image.Raster pSrc, java.awt.image.IndexColorModel pIndexColorModel)  
      java.awt.image.BufferedImage filter​(java.awt.image.BufferedImage pSource, java.awt.image.BufferedImage pDest)
      Performs a single-input/single-output dither operation, applying basic Floyd-Steinberg error-diffusion to the image.
      java.awt.image.WritableRaster filter​(java.awt.image.Raster pSource, java.awt.image.WritableRaster pDest)
      Performs a single-input/single-output dither operation, applying basic Floyd-Steinberg error-diffusion to the image.
      java.awt.image.WritableRaster filter​(java.awt.image.Raster pSource, java.awt.image.WritableRaster pDest, java.awt.image.IndexColorModel pColorModel)
      Performs a single-input/single-output pixel copy operation.
      java.awt.geom.Rectangle2D getBounds2D​(java.awt.image.BufferedImage pSrc)
      Returns the bounding box of the filtered destination image.
      java.awt.geom.Rectangle2D getBounds2D​(java.awt.image.Raster pSrc)
      Returns the bounding box of the filtered destination Raster.
      java.awt.geom.Point2D getPoint2D​(java.awt.geom.Point2D pSrcPt, java.awt.geom.Point2D pDstPt)
      Returns the location of the destination point given a point in the source.
      java.awt.RenderingHints getRenderingHints()
      Returns the rendering mHints for this op.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • indexColorModel

        protected java.awt.image.IndexColorModel indexColorModel
    • Constructor Detail

      • CopyDither

        public CopyDither​(java.awt.image.IndexColorModel pICM)
        Creates a CopyDither, using the given IndexColorModel for dithering into.
        Parameters:
        pICM - an IndexColorModel.
      • CopyDither

        public CopyDither()
        Creates a CopyDither, with no fixed IndexColorModel. The colormodel will be generated for each filtering, unless the dest image allready has an IndexColorModel.
    • Method Detail

      • createCompatibleDestImage

        public final java.awt.image.BufferedImage createCompatibleDestImage​(java.awt.image.BufferedImage pSource,
                                                                            java.awt.image.ColorModel pDestCM)
        Creates a compatible BufferedImage to dither into. Only IndexColorModel allowed.
        Specified by:
        createCompatibleDestImage in interface java.awt.image.BufferedImageOp
        Returns:
        a compatible BufferedImage
        Throws:
        ImageFilterException - if pDestCM is not null or an instance of IndexColorModel.
      • createCompatibleDestRaster

        public final java.awt.image.WritableRaster createCompatibleDestRaster​(java.awt.image.Raster pSrc)
        Creates a compatible Raster to dither into. Only IndexColorModel allowed.
        Specified by:
        createCompatibleDestRaster in interface java.awt.image.RasterOp
        Parameters:
        pSrc -
        Returns:
        a WritableRaster
      • createCompatibleDestRaster

        public final java.awt.image.WritableRaster createCompatibleDestRaster​(java.awt.image.Raster pSrc,
                                                                              java.awt.image.IndexColorModel pIndexColorModel)
      • getBounds2D

        public final java.awt.geom.Rectangle2D getBounds2D​(java.awt.image.BufferedImage pSrc)
        Returns the bounding box of the filtered destination image. Since this is not a geometric operation, the bounding box does not change.
        Specified by:
        getBounds2D in interface java.awt.image.BufferedImageOp
        Parameters:
        pSrc - the BufferedImage to be filtered
        Returns:
        the bounds of the filtered definition image.
      • getBounds2D

        public final java.awt.geom.Rectangle2D getBounds2D​(java.awt.image.Raster pSrc)
        Returns the bounding box of the filtered destination Raster. Since this is not a geometric operation, the bounding box does not change.
        Specified by:
        getBounds2D in interface java.awt.image.RasterOp
        Parameters:
        pSrc - the Raster to be filtered
        Returns:
        the bounds of the filtered definition Raster.
      • getPoint2D

        public final java.awt.geom.Point2D getPoint2D​(java.awt.geom.Point2D pSrcPt,
                                                      java.awt.geom.Point2D pDstPt)
        Returns the location of the destination point given a point in the source. If dstPt is not null, it will be used to hold the return value. Since this is not a geometric operation, the srcPt will equal the dstPt.
        Specified by:
        getPoint2D in interface java.awt.image.BufferedImageOp
        Specified by:
        getPoint2D in interface java.awt.image.RasterOp
        Parameters:
        pSrcPt - a Point2D that represents a point in the source image
        pDstPt - a Point2Dthat represents the location in the destination
        Returns:
        the Point2D in the destination that corresponds to the specified point in the source.
      • getRenderingHints

        public final java.awt.RenderingHints getRenderingHints()
        Returns the rendering mHints for this op.
        Specified by:
        getRenderingHints in interface java.awt.image.BufferedImageOp
        Specified by:
        getRenderingHints in interface java.awt.image.RasterOp
        Returns:
        the RenderingHints object associated with this op.
      • filter

        public final java.awt.image.BufferedImage filter​(java.awt.image.BufferedImage pSource,
                                                         java.awt.image.BufferedImage pDest)
        Performs a single-input/single-output dither operation, applying basic Floyd-Steinberg error-diffusion to the image.
        Specified by:
        filter in interface java.awt.image.BufferedImageOp
        Parameters:
        pSource - the source image
        pDest - the destiantion image
        Returns:
        the destination image, or a new image, if pDest was null.
      • filter

        public final java.awt.image.WritableRaster filter​(java.awt.image.Raster pSource,
                                                          java.awt.image.WritableRaster pDest)
        Performs a single-input/single-output dither operation, applying basic Floyd-Steinberg error-diffusion to the image.
        Specified by:
        filter in interface java.awt.image.RasterOp
        Parameters:
        pSource -
        pDest -
        Returns:
        the destination raster, or a new raster, if pDest was null.
      • filter

        public final java.awt.image.WritableRaster filter​(java.awt.image.Raster pSource,
                                                          java.awt.image.WritableRaster pDest,
                                                          java.awt.image.IndexColorModel pColorModel)
        Performs a single-input/single-output pixel copy operation.
        Parameters:
        pSource -
        pDest -
        pColorModel -
        Returns:
        the destination raster, or a new raster, if pDest was null.