Class IIOUtil


  • public final class IIOUtil
    extends java.lang.Object
    IIOUtil
    Version:
    $Id: IIOUtil.java,v 1.0 May 8, 2008 3:04:54 PM haraldk Exp$
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private IIOUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static void copyIIOParams​(javax.imageio.IIOParam source, javax.imageio.IIOParam destination)  
      private static void copyImageReadParams​(javax.imageio.ImageReadParam source, javax.imageio.ImageReadParam destination)  
      private static void copyImageWriteParams​(javax.imageio.ImageWriteParam source, javax.imageio.ImageWriteParam destination)  
      static <T extends javax.imageio.IIOParam>
      T
      copyStandardParams​(javax.imageio.IIOParam source, T destination)
      Copies all the standard param values from source to destination.
      static java.io.InputStream createStreamAdapter​(javax.imageio.stream.ImageInputStream pStream)
      Creates an InputStream adapter that reads from an underlying ImageInputStream.
      static java.io.InputStream createStreamAdapter​(javax.imageio.stream.ImageInputStream pStream, long pLength)
      Creates an InputStream adapter that reads from an underlying ImageInputStream.
      static java.io.OutputStream createStreamAdapter​(javax.imageio.stream.ImageOutputStream pStream)
      Creates an OutputStream adapter that writes to an underlying ImageOutputStream.
      static <T> void deregisterProvider​(javax.imageio.spi.ServiceRegistry registry, javax.imageio.spi.IIOServiceProvider provider, java.lang.Class<T> category)
      THIS METHOD WILL BE MOVED/RENAMED, DO NOT USE.
      static java.awt.image.BufferedImage fakeAOI​(java.awt.image.BufferedImage pImage, java.awt.Rectangle pSourceRegion)  
      static java.awt.Image fakeSubsampling​(java.awt.Image pImage, javax.imageio.IIOParam pParam)  
      static java.lang.String[] getNormalizedReaderFormatNames()
      Returns a sorted array of format names, that can be read by ImageIO.
      static java.lang.String[] getNormalizedWriterFormatNames()
      Returns a sorted array of format names, that can be written by ImageIO.
      static java.awt.Rectangle getSourceRegion​(javax.imageio.IIOParam pParam, int pSrcWidth, int pSrcHeight)  
      static <T> T lookupProviderByName​(javax.imageio.spi.ServiceRegistry registry, java.lang.String providerClassName, java.lang.Class<T> category)
      THIS METHOD WILL BE MOVED/RENAMED, DO NOT USE.
      private static java.lang.String[] normalizeNames​(java.lang.String[] names)  
      static void subsampleRow​(byte[] srcRow, int srcPos, int srcWidth, byte[] destRow, int destPos, int samplesPerPixel, int bitsPerSample, int samplePeriod)  
      static void subsampleRow​(double[] srcRow, int srcPos, int srcWidth, double[] destRow, int destPos, int samplesPerPixel, int bitsPerSample, int samplePeriod)  
      static void subsampleRow​(float[] srcRow, int srcPos, int srcWidth, float[] destRow, int destPos, int samplesPerPixel, int bitsPerSample, int samplePeriod)  
      static void subsampleRow​(int[] srcRow, int srcPos, int srcWidth, int[] destRow, int destPos, int samplesPerPixel, int bitsPerSample, int samplePeriod)  
      static void subsampleRow​(short[] srcRow, int srcPos, int srcWidth, short[] destRow, int destPos, int samplesPerPixel, int bitsPerSample, int samplePeriod)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IIOUtil

        private IIOUtil()
    • Method Detail

      • createStreamAdapter

        public static java.io.InputStream createStreamAdapter​(javax.imageio.stream.ImageInputStream pStream)
        Creates an InputStream adapter that reads from an underlying ImageInputStream. The input stream will read until the end of pStream.
        Parameters:
        pStream - the stream to read from.
        Returns:
        an InputStream reading from pStream.
      • createStreamAdapter

        public static java.io.InputStream createStreamAdapter​(javax.imageio.stream.ImageInputStream pStream,
                                                              long pLength)
        Creates an InputStream adapter that reads from an underlying ImageInputStream. The input stream will read until the end of pStream, or at most pLength bytes has been read.
        Parameters:
        pStream - the stream to read from.
        pLength - the maximum number of bytes that can be read from pStream.
        Returns:
        an InputStream reading from pStream.
      • createStreamAdapter

        public static java.io.OutputStream createStreamAdapter​(javax.imageio.stream.ImageOutputStream pStream)
        Creates an OutputStream adapter that writes to an underlying ImageOutputStream.

        Note: The adapter is buffered, and MUST be properly flushed/closed after use, otherwise data may be lost.

        Parameters:
        pStream - the stream to write to.
        Returns:
        an OutputSteam writing to pStream.
      • fakeSubsampling

        public static java.awt.Image fakeSubsampling​(java.awt.Image pImage,
                                                     javax.imageio.IIOParam pParam)
      • getSourceRegion

        public static java.awt.Rectangle getSourceRegion​(javax.imageio.IIOParam pParam,
                                                         int pSrcWidth,
                                                         int pSrcHeight)
      • fakeAOI

        public static java.awt.image.BufferedImage fakeAOI​(java.awt.image.BufferedImage pImage,
                                                           java.awt.Rectangle pSourceRegion)
      • deregisterProvider

        public static <T> void deregisterProvider​(javax.imageio.spi.ServiceRegistry registry,
                                                  javax.imageio.spi.IIOServiceProvider provider,
                                                  java.lang.Class<T> category)
        THIS METHOD WILL BE MOVED/RENAMED, DO NOT USE.
        Parameters:
        registry - the registry to unregister from.
        provider - the provider to unregister.
        category - the category to unregister from.
      • lookupProviderByName

        public static <T> T lookupProviderByName​(javax.imageio.spi.ServiceRegistry registry,
                                                 java.lang.String providerClassName,
                                                 java.lang.Class<T> category)
        THIS METHOD WILL BE MOVED/RENAMED, DO NOT USE.
        Parameters:
        registry - the registry to lookup from.
        providerClassName - name of the provider class.
        category - provider category
        Returns:
        the provider instance, or null if not found
      • getNormalizedReaderFormatNames

        public static java.lang.String[] getNormalizedReaderFormatNames()
        Returns a sorted array of format names, that can be read by ImageIO. The names are all upper-case, and contains no duplicates.
        Returns:
        a normalized array of Strings.
        See Also:
        ImageIO.getReaderFormatNames()
      • getNormalizedWriterFormatNames

        public static java.lang.String[] getNormalizedWriterFormatNames()
        Returns a sorted array of format names, that can be written by ImageIO. The names are all upper-case, and contains no duplicates.
        Returns:
        a normalized array of Strings.
        See Also:
        ImageIO.getWriterFormatNames()
      • normalizeNames

        private static java.lang.String[] normalizeNames​(java.lang.String[] names)
      • subsampleRow

        public static void subsampleRow​(byte[] srcRow,
                                        int srcPos,
                                        int srcWidth,
                                        byte[] destRow,
                                        int destPos,
                                        int samplesPerPixel,
                                        int bitsPerSample,
                                        int samplePeriod)
      • subsampleRow

        public static void subsampleRow​(short[] srcRow,
                                        int srcPos,
                                        int srcWidth,
                                        short[] destRow,
                                        int destPos,
                                        int samplesPerPixel,
                                        int bitsPerSample,
                                        int samplePeriod)
      • subsampleRow

        public static void subsampleRow​(int[] srcRow,
                                        int srcPos,
                                        int srcWidth,
                                        int[] destRow,
                                        int destPos,
                                        int samplesPerPixel,
                                        int bitsPerSample,
                                        int samplePeriod)
      • subsampleRow

        public static void subsampleRow​(float[] srcRow,
                                        int srcPos,
                                        int srcWidth,
                                        float[] destRow,
                                        int destPos,
                                        int samplesPerPixel,
                                        int bitsPerSample,
                                        int samplePeriod)
      • subsampleRow

        public static void subsampleRow​(double[] srcRow,
                                        int srcPos,
                                        int srcWidth,
                                        double[] destRow,
                                        int destPos,
                                        int samplesPerPixel,
                                        int bitsPerSample,
                                        int samplePeriod)
      • copyStandardParams

        public static <T extends javax.imageio.IIOParam> T copyStandardParams​(javax.imageio.IIOParam source,
                                                                              T destination)
        Copies all the standard param values from source to destination.

        Typical use (in some imaginary FooImageWriter class):

         ImageWriteParam param = ...
         FooImageWriteparam fooParam = param instanceof FooImageWriteParam
              ? (FooImageWriteParam) param
              : copyStandardParams(param, getDefaultWriteParam());
         
        May also be useful for ImageReaders that delegate reading to other plugins (like a TIFF plugin delegating JPEG format decoding to a JPEGImageReader).
        Type Parameters:
        T - the plugin specific subclass of IIOParam
        Parameters:
        source - the source parameter, may be null
        destination - the destination parameter
        Returns:
        destination
        Throws:
        java.lang.NullPointerException - if destination is null
      • copyImageWriteParams

        private static void copyImageWriteParams​(javax.imageio.ImageWriteParam source,
                                                 javax.imageio.ImageWriteParam destination)
      • copyImageReadParams

        private static void copyImageReadParams​(javax.imageio.ImageReadParam source,
                                                javax.imageio.ImageReadParam destination)
      • copyIIOParams

        private static void copyIIOParams​(javax.imageio.IIOParam source,
                                          javax.imageio.IIOParam destination)