Class PDDeviceN

  • All Implemented Interfaces:
    COSObjectable

    public class PDDeviceN
    extends PDSpecialColorSpace
    DeviceN colour spaces may contain an arbitrary number of colour components. DeviceN represents a colour space containing multiple components that correspond to colorants of some target device. As with Separation colour spaces, readers are able to approximate the colorants if they are not available on the current output device, such as a display
    • Constructor Detail

      • PDDeviceN

        public PDDeviceN()
        Creates a new DeviceN color space.
      • PDDeviceN

        public PDDeviceN​(COSArray deviceN)
                  throws java.io.IOException
        Creates a new DeviceN color space from the given COS array.
        Parameters:
        deviceN - an array containing the color space information
        Throws:
        java.io.IOException
    • Method Detail

      • initColorConversionCache

        private void initColorConversionCache()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • toRGBImage

        public java.awt.image.BufferedImage toRGBImage​(java.awt.image.WritableRaster raster)
                                                throws java.io.IOException
        Description copied from class: PDColorSpace
        Returns the (A)RGB equivalent of the given raster.
        Specified by:
        toRGBImage in class PDColorSpace
        Parameters:
        raster - the source raster
        Returns:
        an (A)RGB buffered image
        Throws:
        java.io.IOException - if the color conversion fails
      • toRGBWithAttributes

        private java.awt.image.BufferedImage toRGBWithAttributes​(java.awt.image.WritableRaster raster)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • toRGBWithTintTransform

        private java.awt.image.BufferedImage toRGBWithTintTransform​(java.awt.image.WritableRaster raster)
                                                             throws java.io.IOException
        Throws:
        java.io.IOException
      • toRGB

        public float[] toRGB​(float[] value)
                      throws java.io.IOException
        Description copied from class: PDColorSpace
        Returns the RGB equivalent of the given color value.
        Specified by:
        toRGB in class PDColorSpace
        Parameters:
        value - a color value with component values between 0 and 1
        Returns:
        an array of R,G,B value between 0 and 255
        Throws:
        java.io.IOException - if the color conversion fails
      • toRGBWithAttributes

        private float[] toRGBWithAttributes​(float[] value)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • toRGBWithTintTransform

        private float[] toRGBWithTintTransform​(float[] value)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • toRawImage

        public java.awt.image.BufferedImage toRawImage​(java.awt.image.WritableRaster raster)
        Description copied from class: PDColorSpace
        Returns the image in this colorspace or null. No conversion is performed. For special colorspaces like PDSeparation the image is returned in the gray colorspace. For undefined colorspaces like DeviceCMYK/DeviceRGB and DeviceGray null is returned. You can always fallback to PDColorSpace.toRGBImage(WritableRaster) if this returns null.
        Specified by:
        toRawImage in class PDColorSpace
        Parameters:
        raster - the source raster
        Returns:
        an buffered image in this colorspace. Or null if it is not possible to extract that image with the original colorspace without conversion.
      • isNChannel

        public boolean isNChannel()
        Returns true if this color space has the NChannel subtype.
        Returns:
        true if subtype is NChannel
      • getName

        public java.lang.String getName()
        Description copied from class: PDColorSpace
        Returns the name of the color space.
        Specified by:
        getName in class PDColorSpace
        Returns:
        the name of the color space
      • getNumberOfComponents

        public final int getNumberOfComponents()
        Description copied from class: PDColorSpace
        Returns the number of components in this color space
        Specified by:
        getNumberOfComponents in class PDColorSpace
        Returns:
        the number of components in this color space
      • getDefaultDecode

        public float[] getDefaultDecode​(int bitsPerComponent)
        Description copied from class: PDColorSpace
        Returns the default decode array for this color space.
        Specified by:
        getDefaultDecode in class PDColorSpace
        Parameters:
        bitsPerComponent - the number of bits per component.
        Returns:
        the default decode array
      • getInitialColor

        public PDColor getInitialColor()
        Description copied from class: PDColorSpace
        Returns the initial color value for this color space.
        Specified by:
        getInitialColor in class PDColorSpace
        Returns:
        the initial color value for this color space
      • getColorantNames

        public java.util.List<java.lang.String> getColorantNames()
        Returns the list of colorants.
        Returns:
        the list of colorants
      • getAttributes

        public PDDeviceNAttributes getAttributes()
        Returns the attributes associated with the DeviceN color space.
        Returns:
        the DeviceN attributes
      • setColorantNames

        public void setColorantNames​(java.util.List<java.lang.String> names)
        Sets the list of colorants
        Parameters:
        names - the list of colorants
      • setAttributes

        public void setAttributes​(PDDeviceNAttributes attributes)
        Sets the color space attributes. If null is passed in then all attribute will be removed.
        Parameters:
        attributes - the color space attributes, or null
      • getAlternateColorSpace

        public PDColorSpace getAlternateColorSpace()
                                            throws java.io.IOException
        This will get the alternate color space for this separation.
        Returns:
        The alternate color space.
        Throws:
        java.io.IOException - If there is an error getting the alternate color space.
      • setAlternateColorSpace

        public void setAlternateColorSpace​(PDColorSpace cs)
        This will set the alternate color space.
        Parameters:
        cs - The alternate color space.
      • getTintTransform

        public PDFunction getTintTransform()
                                    throws java.io.IOException
        This will get the tint transform function.
        Returns:
        The tint transform function.
        Throws:
        java.io.IOException - if there is an error creating the function.
      • setTintTransform

        public void setTintTransform​(PDFunction tint)
        This will set the tint transform function.
        Parameters:
        tint - The tint transform function.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object