Package rma.util.png

Class PngEncoderB

java.lang.Object
rma.util.png.PngEncoder
rma.util.png.PngEncoderB

public class PngEncoderB extends PngEncoder
  • Field Details

  • Constructor Details

    • PngEncoderB

      public PngEncoderB()
      Class constructor
    • PngEncoderB

      public PngEncoderB(BufferedImage image)
      Class constructor specifying BufferedImage to encode, with no alpha channel encoding.
      Parameters:
      image - A Java BufferedImage object
    • PngEncoderB

      public PngEncoderB(BufferedImage image, boolean encodeAlpha)
      Class constructor specifying BufferedImage to encode, and whether to encode alpha.
      Parameters:
      image - A Java BufferedImage object
      encodeAlpha - Encode the alpha channel? false=no; true=yes
    • PngEncoderB

      public PngEncoderB(BufferedImage image, boolean encodeAlpha, int whichFilter)
      Class constructor specifying BufferedImage to encode, whether to encode alpha, and filter to use.
      Parameters:
      image - A Java BufferedImage object
      encodeAlpha - Encode the alpha channel? false=no; true=yes
      whichFilter - 0=none, 1=sub, 2=up
    • PngEncoderB

      public PngEncoderB(BufferedImage image, boolean encodeAlpha, int whichFilter, int compLevel)
      Class constructor specifying BufferedImage source to encode, whether to encode alpha, filter to use, and compression level
      Parameters:
      image - A Java BufferedImage object
      encodeAlpha - Encode the alpha channel? false=no; true=yes
      whichFilter - 0=none, 1=sub, 2=up
      compLevel - 0..9
  • Method Details

    • setImage

      public void setImage(BufferedImage image)
      Set the BufferedImage to be encoded
      Parameters:
      image - A Java BufferedImage object
    • pngEncode

      public byte[] pngEncode(boolean encodeAlpha)
      Creates an array of bytes that is the PNG equivalent of the current image, specifying whether to encode alpha or not.
      Overrides:
      pngEncode in class PngEncoder
      Parameters:
      encodeAlpha - boolean false=no alpha, true=encode alpha
      Returns:
      an array of bytes, or null if there was a problem
    • pngEncode

      public byte[] pngEncode()
      Creates an array of bytes that is the PNG equivalent of the current image. Alpha encoding is determined by its setting in the constructor.
      Overrides:
      pngEncode in class PngEncoder
      Returns:
      an array of bytes, or null if there was a problem
    • establishStorageInfo

      protected boolean establishStorageInfo()
      Get and set variables that determine how picture is stored. Retrieves the writable raster of the buffered image, as well its transfer type. Sets number of output bytes per pixel, and, if only eight-bit bytes, turns off alpha encoding.
      Returns:
      true if 1-byte or 4-byte data, false otherwise
    • writeHeader

      protected void writeHeader()
      Write a PNG "IHDR" chunk into the pngBytes array.
      Overrides:
      writeHeader in class PngEncoder
    • writePalette

      protected void writePalette(IndexColorModel icm)
    • writeImageData

      protected boolean writeImageData()
      Write the image data into the pngBytes array. This will write one or more PNG "IDAT" chunks. In order to conserve memory, this method grabs as many rows as will fit into 32K bytes, or the whole image; whichever is less.
      Overrides:
      writeImageData in class PngEncoder
      Returns:
      true if no errors; false if error grabbing pixels