ImageRawPNG
Date: 2016-04-28

org.apache.xmlgraphics.image.loader.impl

## Class ImageRawPNG

- java.lang.Object
- - org.apache.xmlgraphics.image.loader.impl.AbstractImage
  - - org.apache.xmlgraphics.image.loader.impl.ImageRawStream
    - - org.apache.xmlgraphics.image.loader.impl.ImageRawPNG

- All Implemented Interfaces:
    Image

      public class ImageRawPNG
      extends ImageRawStream

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.xmlgraphics.image.loader.impl.ImageRawStream

      `ImageRawStream.ByteArrayStreamFactory, ImageRawStream.InputStreamFactory`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImageRawPNG(ImageInfo info, java.io.InputStream in, java.awt.image.ColorModel colorModel, int bitDepth, java.awt.color.ICC_Profile iccProfile)` Main constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getBitDepth()` The bit depth of each color channel.
    `java.awt.image.ColorModel` | `getColorModel()` Returns the image's color model.
    `java.awt.color.ColorSpace` | `getColorSpace()` Returns the image's color space.
    `java.awt.color.ICC_Profile` | `getICCProfile()` Returns the ICC color profile if one is associated with the PNG image.
    `int` | `getRenderingIntent()` Returns the rendering intent of the sRGB color space.
    `java.awt.Color` | `getTransparentColor()` The color of the transparent pixel.
    `boolean` | `isTransparent()` Whether the image is transparent (meaning there is a transparent pixel)
    `protected void` | `setGrayTransparentAlpha(int gray)` Sets the gray transparent pixel value.
    `void` | `setRenderingIntent(int intent)` Used to set the rendering intent when the color space is sRGB.
    `protected void` | `setRGBTransparentAlpha(int red, int green, int blue)` Sets the RGB transparent pixel values.
    `protected void` | `setTransparent()` Used to flag image as transparent when the image is of pallete type.

    - ### Methods inherited from class org.apache.xmlgraphics.image.loader.impl.ImageRawStream

      `createInputStream, getFlavor, getMimeType, isCacheable, setInputStreamFactory, writeTo`

    - ### Methods inherited from class org.apache.xmlgraphics.image.loader.impl.AbstractImage

      `getInfo, getSize, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ImageRawPNG

          public ImageRawPNG(ImageInfo info,
                     java.io.InputStream in,
                     java.awt.image.ColorModel colorModel,
                     int bitDepth,
                     java.awt.color.ICC_Profile iccProfile)

      Main constructor.
      Parameters:
        `info` - the image info object
        `in` - the ImageInputStream with the raw content
        `colorModel` - the color model
        `bitDepth` - the bit depth
        `iccProfile` - an ICC color profile or null if no profile is associated

  - ### Method Detail

    - #### getBitDepth

          public int getBitDepth()

      The bit depth of each color channel.
      Returns:
        the bit depth of one channel (same for all)

    - #### getICCProfile

          public java.awt.color.ICC_Profile getICCProfile()

      Returns the ICC color profile if one is associated with the PNG image.
      Specified by:
        `getICCProfile` in interface `Image`
      Overrides:
        `getICCProfile` in class `AbstractImage`
      Returns:
        the ICC color profile or null if there's no profile

    - #### getColorModel

          public java.awt.image.ColorModel getColorModel()

      Returns the image's color model.
      Returns:
        the color model

    - #### getColorSpace

          public java.awt.color.ColorSpace getColorSpace()

      Returns the image's color space.
      Specified by:
        `getColorSpace` in interface `Image`
      Overrides:
        `getColorSpace` in class `AbstractImage`
      Returns:
        the color space

    - #### setGrayTransparentAlpha

          protected void setGrayTransparentAlpha(int gray)

      Sets the gray transparent pixel value.
      Parameters:
        `gray` - the transparent pixel gray value (0...255)

    - #### setRGBTransparentAlpha

          protected void setRGBTransparentAlpha(int red,
                                    int green,
                                    int blue)

      Sets the RGB transparent pixel values.
      Parameters:
        `red` - the transparent pixel red value (0...255)
        `green` - the transparent pixel green value (0...255)
        `blue` - the transparent pixel blue value (0...255)

    - #### setTransparent

          protected void setTransparent()

      Used to flag image as transparent when the image is of pallete type.

    - #### isTransparent

          public boolean isTransparent()

      Whether the image is transparent (meaning there is a transparent pixel)
      Returns:
        true if transparent pixel exists

    - #### getTransparentColor

          public java.awt.Color getTransparentColor()

      The color of the transparent pixel.
      Returns:
        the color of the transparent pixel.

    - #### setRenderingIntent

          public void setRenderingIntent(int intent)

      Used to set the rendering intent when the color space is sRGB.
      Parameters:
        `intent` - the rendering intent of the sRGB color space

    - #### getRenderingIntent

          public int getRenderingIntent()

      Returns the rendering intent of the sRGB color space.
      Returns:
        the rendering intent