Class ImageEncodingHelper

java.lang.Object
org.apache.xmlgraphics.ps.ImageEncodingHelper

public class ImageEncodingHelper extends Object
Helper class for encoding bitmap images.
  • Constructor Details

    • ImageEncodingHelper

      public ImageEncodingHelper(RenderedImage image)
      Main constructor
      Parameters:
      image - the image
    • ImageEncodingHelper

      public ImageEncodingHelper(RenderedImage image, boolean enableCMYK)
      Main constructor
      Parameters:
      image - the image
      enableCMYK - true to enable CMYK, false to disable
  • Method Details

    • getImage

      public RenderedImage getImage()
      Returns the associated image.
      Returns:
      the image
    • getNativeColorModel

      public ColorModel getNativeColorModel()
      Returns the native ColorModel used by the image.
      Returns:
      the native color model
    • getEncodedColorModel

      public ColorModel getEncodedColorModel()
      Returns the effective ColorModel used to encode the image. If this is different from the value returned by getNativeColorModel() this means that the image is converted in order to encode it because no native encoding is currently possible.
      Returns:
      the effective color model
    • hasAlpha

      public boolean hasAlpha()
      Indicates whether the image has an alpha channel.
      Returns:
      true if the image has an alpha channel
    • isConverted

      public boolean isConverted()
      Indicates whether the image is converted during encodation.
      Returns:
      true if the image cannot be encoded in its native format
    • encodeRenderedImageAsRGB

      public static void encodeRenderedImageAsRGB(RenderedImage image, OutputStream out) throws IOException
      Throws:
      IOException
    • encodeRenderedImageAsRGB

      public static void encodeRenderedImageAsRGB(RenderedImage image, OutputStream out, boolean outputbw, boolean bwinvert) throws IOException
      Writes a RenderedImage to an OutputStream by converting it to RGB.
      Parameters:
      image - the image
      out - the OutputStream to write the pixels to
      Throws:
      IOException - if an I/O error occurs
    • encodeRenderedImageWithDirectColorModelAsRGB

      public static boolean encodeRenderedImageWithDirectColorModelAsRGB(RenderedImage image, OutputStream out) throws IOException
      Writes a RenderedImage to an OutputStream. This method optimizes the encoding of the DirectColorModel as it is returned by ColorModel.getRGBdefault().
      Parameters:
      image - the image
      out - the OutputStream to write the pixels to
      Returns:
      true if this method encoded this image, false if the image is incompatible
      Throws:
      IOException - if an I/O error occurs
    • encodeRGBAsGrayScale

      public static void encodeRGBAsGrayScale(byte[] raw, int width, int height, int bitsPerPixel, OutputStream out) throws IOException
      Converts a byte array containing 24 bit RGB image data to a grayscale image.
      Parameters:
      raw - the buffer containing the RGB image data
      width - the width of the image in pixels
      height - the height of the image in pixels
      bitsPerPixel - the number of bits to use per pixel
      out - the OutputStream to write the pixels to
      Throws:
      IOException - if an I/O error occurs
    • isMultiTile

      protected boolean isMultiTile()
      Indicates whether the image consists of multiple tiles.
      Returns:
      true if there are multiple tiles
    • determineEncodedColorModel

      protected void determineEncodedColorModel()
      Determines the color model used for encoding the image.
    • encode

      public void encode(OutputStream out) throws IOException
      Encodes the image and writes everything to the given OutputStream.
      Parameters:
      out - the OutputStream
      Throws:
      IOException - if an I/O error occurs
    • encodeAlpha

      public void encodeAlpha(OutputStream out) throws IOException
      Encodes the image's alpha channel. If it doesn't have an alpha channel, an IllegalStateException is thrown.
      Parameters:
      out - the OutputStream
      Throws:
      IOException - if an I/O error occurs
    • encodePackedColorComponents

      public static void encodePackedColorComponents(RenderedImage image, OutputStream out) throws IOException
      Writes all pixels (color components only) of a RenderedImage to an OutputStream.
      Parameters:
      image - the image to be encoded
      out - the OutputStream to write to
      Throws:
      IOException - if an I/O error occurs
    • createRenderedImageEncoder

      public static ImageEncoder createRenderedImageEncoder(RenderedImage img)
      Create an ImageEncoder for the given RenderImage instance.
      Parameters:
      img - the image
      Returns:
      the requested ImageEncoder
    • setBWInvert

      public void setBWInvert(boolean v)