org.apache.fop.render.pdf

## Class ImageRawPNGAdapter

- java.lang.Object
- - org.apache.fop.render.pdf.AbstractImageAdapter
  - - org.apache.fop.render.pdf.ImageRawPNGAdapter

- All Implemented Interfaces:
    PDFImage

      public class ImageRawPNGAdapter
      extends AbstractImageAdapter

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.render.pdf.AbstractImageAdapter

      `image`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImageRawPNGAdapter(org.apache.xmlgraphics.image.loader.impl.ImageRawPNG image, java.lang.String key)` Creates a new PDFImage from an Image instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getBitsPerComponent()` Get the bits per color component for this image.
    `PDFDeviceColorSpace` | `getColorSpace()` Get the color space for this image.
    `java.lang.String` | `getFilterHint()` Returns a hint in form of a String (Possible values from PDFFilterList) indicating which filter setup should be used to encode the object.
    `java.lang.String` | `getMask()` Get the PDF reference for a bitmap mask.
    `PDFFilter` | `getPDFFilter()` Get the PDF Filter to be applied to the image.
    `java.lang.String` | `getSoftMask()`
    `PDFReference` | `getSoftMaskReference()` Get the PDF reference for a soft mask.
    `PDFColor` | `getTransparentColor()` Get the transparent color.
    `protected boolean` | `issRGB()`
    `boolean` | `isTransparent()` Check if this image has a transparent color transparency.
    `void` | `outputContents(java.io.OutputStream out)` Writes the raw, unencoded contents of the image to a given output stream.
    `void` | `populateXObjectDictionary(PDFDictionary dict)` Populates the XObject's dictionary with additional values.
    `void` | `setup(PDFDocument doc)` Setup the PDF image for the current document.

    - ### Methods inherited from class org.apache.fop.render.pdf.AbstractImageAdapter

      `disallowMultipleFilters, getEffectiveICCProfile, getHeight, getICCStream, getImageColorSpace, getKey, getWidth, isInverted, isPS, multipleFiltersAllowed, populateXObjectDictionaryForIndexColorModel, toPDFColorSpace`

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

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

- - ### Constructor Detail

    - #### ImageRawPNGAdapter

          public ImageRawPNGAdapter(org.apache.xmlgraphics.image.loader.impl.ImageRawPNG image,
                                    java.lang.String key)

      Creates a new PDFImage from an Image instance.
      Parameters:
        `image` - the image
        `key` - XObject key

  - ### Method Detail

    - #### setup

          public void setup(PDFDocument doc)

      Setup the PDF image for the current document. Some image formats may need to access the document (for example to add an ICC profile to the document).
      Specified by:
        `setup` in interface `PDFImage`
      Overrides:
        `setup` in class `AbstractImageAdapter`
      Parameters:
        `doc` - the PDF parent document (todo) Remove this and delegate to the XObject

    - #### getColorSpace

          public PDFDeviceColorSpace getColorSpace()

      Get the color space for this image. Possible results are: DeviceGray, DeviceRGB, or DeviceCMYK
      Returns:
        the color space

    - #### getBitsPerComponent

          public int getBitsPerComponent()

      Get the bits per color component for this image.
      Returns:
        the bits per component

    - #### isTransparent

          public boolean isTransparent()

      Check if this image has a transparent color transparency. Classes such as `PDFImageXObject` rely on this simple binary model of transparency (e.g. compare to `Transparency`) in order to render color key masking (see PDF Spec 1.7 Chapter 8.9.6.4). Therefore only return true if image has fully transparent colors.
      Specified by:
        `isTransparent` in interface `PDFImage`
      Overrides:
        `isTransparent` in class `AbstractImageAdapter`
      Returns:
        true if it has at least one fully transparent color

    - #### getTransparentColor

          public PDFColor getTransparentColor()

      Get the transparent color.
      Specified by:
        `getTransparentColor` in interface `PDFImage`
      Overrides:
        `getTransparentColor` in class `AbstractImageAdapter`
      Returns:
        the transparent color for this image

    - #### getMask

          public java.lang.String getMask()

      Get the PDF reference for a bitmap mask.
      Specified by:
        `getMask` in interface `PDFImage`
      Overrides:
        `getMask` in class `AbstractImageAdapter`
      Returns:
        the PDF reference for the mask image

    - #### getSoftMask

          public java.lang.String getSoftMask()

      Overrides:
        `getSoftMask` in class `AbstractImageAdapter`
      Returns:
        null (if not overridden)

    - #### getSoftMaskReference

          public PDFReference getSoftMaskReference()

      Get the PDF reference for a soft mask.
      Specified by:
        `getSoftMaskReference` in interface `PDFImage`
      Overrides:
        `getSoftMaskReference` in class `AbstractImageAdapter`
      Returns:
        the PDF reference for a soft mask image (or null if there's no soft mask)

    - #### getPDFFilter

          public PDFFilter getPDFFilter()

      Get the PDF Filter to be applied to the image.
      Returns:
        the PDF Filter or null

    - #### outputContents

          public void outputContents(java.io.OutputStream out)
                              throws java.io.IOException

      Writes the raw, unencoded contents of the image to a given output stream.
      Parameters:
        `out` - OutputStream to write to
      Throws:
        `java.io.IOException` - if there creating stream

    - #### getFilterHint

          public java.lang.String getFilterHint()

      Returns a hint in form of a String (Possible values from PDFFilterList) indicating which filter setup should be used to encode the object.
      Returns:
        the filter setup hint

    - #### populateXObjectDictionary

          public void populateXObjectDictionary(PDFDictionary dict)

      Description copied from class: `AbstractImageAdapter`
      Populates the XObject's dictionary with additional values. The values are added to the dictionary after all the values obtained from other methods from this interface have been put into the dictionary. That allows to override certain values.
      Specified by:
        `populateXObjectDictionary` in interface `PDFImage`
      Overrides:
        `populateXObjectDictionary` in class `AbstractImageAdapter`
      Parameters:
        `dict` - the dictionary to fill

    - #### issRGB

          protected boolean issRGB()

      Overrides:
        `issRGB` in class `AbstractImageAdapter`

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.