Class ImageDataFactory


  • public final class ImageDataFactory
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ImageDataFactory()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static ImageData create​(byte[] bytes)
      Create an ImageData instance representing the image from the image bytes.
      static ImageData create​(byte[] bytes, boolean recoverImage)
      Create an ImageData instance representing the image from the image bytes.
      static ImageData create​(int width, int height, boolean reverseBits, int typeCCITT, int parameters, byte[] data, int[] transparency)
      Create an ImageData instance from the passed parameters.
      static ImageData create​(int width, int height, int components, int bpc, byte[] data, int[] transparency)
      Create an ImageData instance from the passed parameters.
      static ImageData create​(java.awt.Image image, java.awt.Color color)
      Gets an instance of an Image from a java.awt.Image
      static ImageData create​(java.awt.Image image, java.awt.Color color, boolean forceBW)
      Gets an instance of an Image from a java.awt.Image.
      static ImageData create​(java.lang.String filename)
      Create an ImageData instance representing the image from the specified file.
      static ImageData create​(java.lang.String filename, boolean recoverImage)
      Create an ImageData instance representing the image from the specified file.
      static ImageData create​(java.net.URL url)
      Create an ImageData instance representing the image from the file located at the specified url.
      static ImageData create​(java.net.URL url, boolean recoverImage)
      Create an ImageData instance representing the image from the file located at the specified url.
      static ImageData createBmp​(byte[] bytes, boolean noHeader)
      Get a bitmap ImageData instance from the provided bytes.
      static ImageData createBmp​(java.net.URL url, boolean noHeader)
      Get a bitmap ImageData instance from the specified url.
      static GifImageData createGif​(byte[] bytes)
      Return a GifImage object.
      static ImageData createGifFrame​(byte[] bytes, int frame)
      Returns a specified frame of the gif image
      static ImageData createGifFrame​(java.net.URL url, int frame)
      Returns a specified frame of the gif image
      static java.util.List<ImageData> createGifFrames​(byte[] bytes)
      Returns List of gif image frames
      static java.util.List<ImageData> createGifFrames​(byte[] bytes, int[] frameNumbers)
      Returns List of gif image frames
      static java.util.List<ImageData> createGifFrames​(java.net.URL url)
      Returns List of gif image frames
      static java.util.List<ImageData> createGifFrames​(java.net.URL url, int[] frameNumbers)
      Returns List of gif image frames
      private static ImageData createImageInstance​(byte[] bytes, boolean recoverImage)  
      private static ImageData createImageInstance​(java.net.URL source, boolean recoverImage)  
      static ImageData createJbig2​(byte[] bytes, int page)  
      static ImageData createJbig2​(java.net.URL url, int page)  
      static ImageData createJpeg​(byte[] bytes)  
      static ImageData createJpeg​(java.net.URL url)
      Create an ImageData instance from a Jpeg image url
      static ImageData createJpeg2000​(byte[] bytes)  
      static ImageData createJpeg2000​(java.net.URL url)  
      static ImageData createPng​(byte[] bytes)  
      static ImageData createPng​(java.net.URL url)  
      static ImageData createRawImage​(byte[] bytes)  
      static ImageData createTiff​(byte[] bytes, boolean recoverFromImageError, int page, boolean direct)  
      static ImageData createTiff​(java.net.URL url, boolean recoverFromImageError, int page, boolean direct)  
      static boolean isSupportedType​(byte[] source)
      Checks if the type of image (based on first 8 bytes) is supported by factory.
      static boolean isSupportedType​(ImageType imageType)
      Checks if the type of image is supported by factory.
      static boolean isSupportedType​(java.net.URL source)
      Checks if the type of image (based on first 8 bytes) is supported by factory.
      private static java.util.List<ImageData> processGifImageAndExtractFrames​(int[] frameNumbers, GifImageData image)  
      private static void validateImageType​(byte[] image, ImageType expectedType)  
      private static void validateImageType​(java.net.URL imageUrl, ImageType expectedType)  
      • Methods inherited from class java.lang.Object

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

      • ImageDataFactory

        private ImageDataFactory()
    • Method Detail

      • create

        public static ImageData create​(byte[] bytes,
                                       boolean recoverImage)
        Create an ImageData instance representing the image from the image bytes.
        Parameters:
        bytes - byte representation of the image.
        recoverImage - whether to recover from a image error (for TIFF-images)
        Returns:
        The created ImageData object.
      • create

        public static ImageData create​(byte[] bytes)
        Create an ImageData instance representing the image from the image bytes.
        Parameters:
        bytes - byte representation of the image.
        Returns:
        The created ImageData object.
      • create

        public static ImageData create​(java.net.URL url,
                                       boolean recoverImage)
        Create an ImageData instance representing the image from the file located at the specified url.
        Parameters:
        url - location of the image
        recoverImage - whether to recover from a image error (for TIFF-images)
        Returns:
        The created ImageData object.
      • create

        public static ImageData create​(java.net.URL url)
        Create an ImageData instance representing the image from the file located at the specified url.
        Parameters:
        url - location of the image
        Returns:
        The created ImageData object.
      • create

        public static ImageData create​(java.lang.String filename,
                                       boolean recoverImage)
                                throws java.net.MalformedURLException
        Create an ImageData instance representing the image from the specified file.
        Parameters:
        filename - filename of the file containing the image
        recoverImage - whether to recover from a image error (for TIFF-images)
        Returns:
        The created ImageData object.
        Throws:
        java.net.MalformedURLException - if an error occurred generating the URL.
      • create

        public static ImageData create​(java.lang.String filename)
                                throws java.net.MalformedURLException
        Create an ImageData instance representing the image from the specified file.
        Parameters:
        filename - filename of the file containing the image
        Returns:
        The created ImageData object.
        Throws:
        java.net.MalformedURLException - if an error occurred generating the URL.
      • create

        public static ImageData create​(int width,
                                       int height,
                                       boolean reverseBits,
                                       int typeCCITT,
                                       int parameters,
                                       byte[] data,
                                       int[] transparency)
        Create an ImageData instance from the passed parameters.
        Parameters:
        width - width of the image in pixels
        height - height of the image in pixels
        reverseBits - whether to reverse the bits stored in data (TIFF images).
        typeCCITT - Type of CCITT encoding
        parameters - colour space parameters
        data - array containing raw image data
        transparency - array containing transparency information
        Returns:
        created ImageData object.
      • create

        public static ImageData create​(int width,
                                       int height,
                                       int components,
                                       int bpc,
                                       byte[] data,
                                       int[] transparency)
        Create an ImageData instance from the passed parameters.
        Parameters:
        width - width of the image in pixels
        height - height of the image in pixels
        components - colour space components
        bpc - bits per colour.
        data - array containing raw image data
        transparency - array containing transparency information
        Returns:
        created ImageData object.
      • create

        public static ImageData create​(java.awt.Image image,
                                       java.awt.Color color)
                                throws java.io.IOException
        Gets an instance of an Image from a java.awt.Image
        Parameters:
        image - the java.awt.Image to convert
        color - if different from null the transparency pixels are replaced by this color
        Returns:
        RawImage
        Throws:
        java.io.IOException - if an I/O error occurs.
      • create

        public static ImageData create​(java.awt.Image image,
                                       java.awt.Color color,
                                       boolean forceBW)
                                throws java.io.IOException
        Gets an instance of an Image from a java.awt.Image.
        Parameters:
        image - the java.awt.Image to convert
        color - if different from null the transparency pixels are replaced by this color
        forceBW - if true the image is treated as black and white
        Returns:
        RawImage
        Throws:
        java.io.IOException - if an I/O error occurs.
      • createBmp

        public static ImageData createBmp​(java.net.URL url,
                                          boolean noHeader)
        Get a bitmap ImageData instance from the specified url.
        Parameters:
        url - location of the image.
        noHeader - Whether the image contains a header.
        Returns:
        created ImageData
      • createBmp

        public static ImageData createBmp​(byte[] bytes,
                                          boolean noHeader)
        Get a bitmap ImageData instance from the provided bytes.
        Parameters:
        bytes - array containing the raw image data
        noHeader - Whether the image contains a header.
        Returns:
        created ImageData
      • createGif

        public static GifImageData createGif​(byte[] bytes)
        Return a GifImage object. This object cannot be added to a document
        Parameters:
        bytes - array containing the raw image data
        Returns:
        GifImageData instance.
      • createGifFrame

        public static ImageData createGifFrame​(java.net.URL url,
                                               int frame)
        Returns a specified frame of the gif image
        Parameters:
        url - url of gif image
        frame - number of frame to be returned, 1-based
        Returns:
        GifImageData instance.
      • createGifFrame

        public static ImageData createGifFrame​(byte[] bytes,
                                               int frame)
        Returns a specified frame of the gif image
        Parameters:
        bytes - byte array of gif image
        frame - number of frame to be returned, 1-based
        Returns:
        GifImageData instance
      • createGifFrames

        public static java.util.List<ImageData> createGifFrames​(byte[] bytes,
                                                                int[] frameNumbers)
        Returns List of gif image frames
        Parameters:
        bytes - byte array of gif image
        frameNumbers - array of frame numbers of gif image, 1-based
        Returns:
        all frames of gif image
      • createGifFrames

        public static java.util.List<ImageData> createGifFrames​(java.net.URL url,
                                                                int[] frameNumbers)
        Returns List of gif image frames
        Parameters:
        url - url of gif image
        frameNumbers - array of frame numbers of gif image, 1-based
        Returns:
        all frames of gif image
      • createGifFrames

        public static java.util.List<ImageData> createGifFrames​(byte[] bytes)
        Returns List of gif image frames
        Parameters:
        bytes - byte array of gif image
        Returns:
        all frames of gif image
      • createGifFrames

        public static java.util.List<ImageData> createGifFrames​(java.net.URL url)
        Returns List of gif image frames
        Parameters:
        url - url of gif image
        Returns:
        all frames of gif image
      • createJbig2

        public static ImageData createJbig2​(java.net.URL url,
                                            int page)
      • createJbig2

        public static ImageData createJbig2​(byte[] bytes,
                                            int page)
      • createJpeg

        public static ImageData createJpeg​(java.net.URL url)
        Create an ImageData instance from a Jpeg image url
        Parameters:
        url - URL
        Returns:
        the created JPEG image
      • createJpeg

        public static ImageData createJpeg​(byte[] bytes)
      • createJpeg2000

        public static ImageData createJpeg2000​(java.net.URL url)
      • createJpeg2000

        public static ImageData createJpeg2000​(byte[] bytes)
      • createPng

        public static ImageData createPng​(java.net.URL url)
      • createPng

        public static ImageData createPng​(byte[] bytes)
      • createTiff

        public static ImageData createTiff​(java.net.URL url,
                                           boolean recoverFromImageError,
                                           int page,
                                           boolean direct)
      • createTiff

        public static ImageData createTiff​(byte[] bytes,
                                           boolean recoverFromImageError,
                                           int page,
                                           boolean direct)
      • createRawImage

        public static ImageData createRawImage​(byte[] bytes)
      • isSupportedType

        public static boolean isSupportedType​(byte[] source)
        Checks if the type of image (based on first 8 bytes) is supported by factory.
        Note: if this method returns true it doesn't means that create(byte[]) won't throw exception
        Parameters:
        source - image raw bytes
        Returns:
        true if first eight bytes are recognised by factory as valid image type and false otherwise
      • isSupportedType

        public static boolean isSupportedType​(java.net.URL source)
        Checks if the type of image (based on first 8 bytes) is supported by factory.
        Note: if this method returns true it doesn't means that create(byte[]) won't throw exception
        Parameters:
        source - image URL
        Returns:
        true if first eight bytes are recognised by factory as valid image type and false otherwise
      • isSupportedType

        public static boolean isSupportedType​(ImageType imageType)
        Checks if the type of image is supported by factory.
        Note: if this method returns true it doesn't means that create(byte[]) won't throw exception
        Parameters:
        imageType - image type
        Returns:
        true if image type is supported and false otherwise
      • createImageInstance

        private static ImageData createImageInstance​(java.net.URL source,
                                                     boolean recoverImage)
      • createImageInstance

        private static ImageData createImageInstance​(byte[] bytes,
                                                     boolean recoverImage)
      • processGifImageAndExtractFrames

        private static java.util.List<ImageData> processGifImageAndExtractFrames​(int[] frameNumbers,
                                                                                 GifImageData image)
      • validateImageType

        private static void validateImageType​(byte[] image,
                                              ImageType expectedType)
      • validateImageType

        private static void validateImageType​(java.net.URL imageUrl,
                                              ImageType expectedType)