Class CMYKJPEGImageReader

java.lang.Object
javax.imageio.ImageReader
org.monte.media.jpeg.CMYKJPEGImageReader

public class CMYKJPEGImageReader extends ImageReader
Reads a JPEG image with colors in the CMYK color space.

For optimal performance with CMYK images, please run the JVM with the following VM option:

 -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider
 
Author:
Werner Randelshofer
  • Constructor Details

    • CMYKJPEGImageReader

      public CMYKJPEGImageReader()
    • CMYKJPEGImageReader

      public CMYKJPEGImageReader(ImageReaderSpi originatingProvider)
  • Method Details

    • getNumImages

      public int getNumImages(boolean allowSearch) throws IOException
      Specified by:
      getNumImages in class ImageReader
      Throws:
      IOException
    • getWidth

      public int getWidth(int imageIndex) throws IOException
      Specified by:
      getWidth in class ImageReader
      Throws:
      IOException
    • getHeight

      public int getHeight(int imageIndex) throws IOException
      Specified by:
      getHeight in class ImageReader
      Throws:
      IOException
    • getImageTypes

      public Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
      Specified by:
      getImageTypes in class ImageReader
      Throws:
      IOException
    • getStreamMetadata

      public IIOMetadata getStreamMetadata() throws IOException
      Specified by:
      getStreamMetadata in class ImageReader
      Throws:
      IOException
    • getImageMetadata

      public IIOMetadata getImageMetadata(int imageIndex) throws IOException
      Specified by:
      getImageMetadata in class ImageReader
      Throws:
      IOException
    • read

      public BufferedImage read(int imageIndex, ImageReadParam param) throws IOException
      Specified by:
      read in class ImageReader
      Throws:
      IOException
    • isInvertColors

      public boolean isInvertColors()
      Returns:
      the YCCKInversed property.
    • setInvertColors

      public void setInvertColors(boolean newValue)
      Parameters:
      newValue - the new value
    • isIgnoreIccProfile

      public boolean isIgnoreIccProfile()
    • setIgnoreIccProfile

      public void setIgnoreIccProfile(boolean newValue)
    • getDefaultIccProfile

      public ICC_Profile getDefaultIccProfile()
    • setDefaultIccProfile

      public void setDefaultIccProfile(ICC_Profile newValue)
    • read

      public static BufferedImage read(ImageInputStream in, boolean inverseYCCKColors, boolean ignoreProfile, ICC_Profile defaultProfile) throws IOException
      Throws:
      IOException
    • createNativeJPEGReader

      public static ImageReader createNativeJPEGReader()
    • readImageFromCMYK

      public static BufferedImage readImageFromCMYK(InputStream in, ICC_Profile cmykProfile) throws IOException
      Reads a CMYK JPEG image from the provided InputStream, converting the colors to RGB using the provided CMYK ICC_Profile. The image data must be in the CMYK color space.

      Use this method, if you have already determined that the input stream contains a CMYK JPEG image.

      Parameters:
      in - An InputStream, preferably an ImageInputStream, in the JPEG File Interchange Format (JFIF).
      cmykProfile - An ICC_Profile for conversion from the CMYK color space to the RGB color space. If this parameter is null, a default profile is used.
      Returns:
      a BufferedImage containing the decoded image
      Throws:
      IOException
    • readImageFromInvertedCMYK

      public static BufferedImage readImageFromInvertedCMYK(InputStream in, ICC_Profile rgbaProfile) throws IOException
      Reads a RGBA JPEG image from the provided InputStream, converting the colors to RGBA using the provided RGBA ICC_Profile. The image data must be in the RGBA color space.

      Use this method, if you have already determined that the input stream contains a RGBA JPEG image.

      Parameters:
      in - An InputStream, preferably an ImageInputStream, in the JPEG File Interchange Format (JFIF).
      rgbaProfile - An ICC_Profile for conversion from the RGBA color space to the RGBA color space. If this parameter is null, a default profile is used.
      Returns:
      a BufferedImage containing the decoded image.
      Throws:
      IOException
    • readImageFromRGB

      public static BufferedImage readImageFromRGB(InputStream in, ICC_Profile rgbaProfile) throws IOException
      Throws:
      IOException
    • readImageFromYCC

      public static BufferedImage readImageFromYCC(InputStream in, ICC_Profile yccProfile) throws IOException
      Throws:
      IOException
    • readImageFromYCCK

      public static BufferedImage readImageFromYCCK(InputStream in, ICC_Profile cmykProfile) throws IOException
      Reads a YCCK JPEG image from the provided InputStream, converting the colors to RGB using the provided CMYK ICC_Profile. The image data must be in the YCCK color space.

      Use this method, if you have already determined that the input stream contains a YCCK JPEG image.

      Parameters:
      in - An InputStream, preferably an ImageInputStream, in the JPEG File Interchange Format (JFIF).
      cmykProfile - An ICC_Profile for conversion from the CMYK color space to the RGB color space. If this parameter is null, a default profile is used.
      Returns:
      a BufferedImage containing the decoded image.
      Throws:
      IOException
    • readImageFromInvertedYCCK

      public static BufferedImage readImageFromInvertedYCCK(InputStream in, ICC_Profile cmykProfile) throws IOException
      Reads an inverted-YCCK JPEG image from the provided InputStream, converting the colors to RGB using the provided CMYK ICC_Profile. The image data must be in the inverted-YCCK color space.

      Use this method, if you have already determined that the input stream contains an inverted-YCCK JPEG image.

      Parameters:
      in - An InputStream, preferably an ImageInputStream, in the JPEG File Interchange Format (JFIF).
      cmykProfile - An ICC_Profile for conversion from the CMYK color space to the RGB color space. If this parameter is null, a default profile is used.
      Returns:
      a BufferedImage containing the decoded image.
      Throws:
      IOException
    • dispose

      public void dispose()
      Disposes of resources held internally by the reader.
      Overrides:
      dispose in class ImageReader