Package com.itextpdf.io.image
Class ImageDataFactory
- java.lang.Object
-
- com.itextpdf.io.image.ImageDataFactory
-
public final class ImageDataFactory extends java.lang.Object
-
-
Constructor Summary
Constructors Modifier Constructor Description privateImageDataFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ImageDatacreate(byte[] bytes)Create an ImageData instance representing the image from the image bytes.static ImageDatacreate(byte[] bytes, boolean recoverImage)Create an ImageData instance representing the image from the image bytes.static ImageDatacreate(int width, int height, boolean reverseBits, int typeCCITT, int parameters, byte[] data, int[] transparency)Create an ImageData instance from the passed parameters.static ImageDatacreate(int width, int height, int components, int bpc, byte[] data, int[] transparency)Create an ImageData instance from the passed parameters.static ImageDatacreate(java.awt.Image image, java.awt.Color color)Gets an instance of an Image from a java.awt.Imagestatic ImageDatacreate(java.awt.Image image, java.awt.Color color, boolean forceBW)Gets an instance of an Image from a java.awt.Image.static ImageDatacreate(java.lang.String filename)Create an ImageData instance representing the image from the specified file.static ImageDatacreate(java.lang.String filename, boolean recoverImage)Create an ImageData instance representing the image from the specified file.static ImageDatacreate(java.net.URL url)Create an ImageData instance representing the image from the file located at the specified url.static ImageDatacreate(java.net.URL url, boolean recoverImage)Create an ImageData instance representing the image from the file located at the specified url.static ImageDatacreateBmp(byte[] bytes, boolean noHeader)Get a bitmap ImageData instance from the provided bytes.static ImageDatacreateBmp(java.net.URL url, boolean noHeader)Get a bitmap ImageData instance from the specified url.static GifImageDatacreateGif(byte[] bytes)Return a GifImage object.static ImageDatacreateGifFrame(byte[] bytes, int frame)Returns a specified frame of the gif imagestatic ImageDatacreateGifFrame(java.net.URL url, int frame)Returns a specified frame of the gif imagestatic java.util.List<ImageData>createGifFrames(byte[] bytes)ReturnsListof gif image framesstatic java.util.List<ImageData>createGifFrames(byte[] bytes, int[] frameNumbers)ReturnsListof gif image framesstatic java.util.List<ImageData>createGifFrames(java.net.URL url)ReturnsListof gif image framesstatic java.util.List<ImageData>createGifFrames(java.net.URL url, int[] frameNumbers)ReturnsListof gif image framesprivate static ImageDatacreateImageInstance(byte[] bytes, boolean recoverImage)private static ImageDatacreateImageInstance(java.net.URL source, boolean recoverImage)static ImageDatacreateJbig2(byte[] bytes, int page)static ImageDatacreateJbig2(java.net.URL url, int page)static ImageDatacreateJpeg(byte[] bytes)static ImageDatacreateJpeg(java.net.URL url)Create anImageDatainstance from a Jpeg image urlstatic ImageDatacreateJpeg2000(byte[] bytes)static ImageDatacreateJpeg2000(java.net.URL url)static ImageDatacreatePng(byte[] bytes)static ImageDatacreatePng(java.net.URL url)static ImageDatacreateRawImage(byte[] bytes)static ImageDatacreateTiff(byte[] bytes, boolean recoverFromImageError, int page, boolean direct)static ImageDatacreateTiff(java.net.URL url, boolean recoverFromImageError, int page, boolean direct)static booleanisSupportedType(byte[] source)Checks if the type of image (based on first 8 bytes) is supported by factory.static booleanisSupportedType(ImageType imageType)Checks if the type of image is supported by factory.static booleanisSupportedType(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 voidvalidateImageType(byte[] image, ImageType expectedType)private static voidvalidateImageType(java.net.URL imageUrl, ImageType expectedType)
-
-
-
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 imagerecoverImage- 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 imagerecoverImage- 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 pixelsheight- height of the image in pixelsreverseBits- whether to reverse the bits stored in data (TIFF images).typeCCITT- Type of CCITT encodingparameters- colour space parametersdata- array containing raw image datatransparency- 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 pixelsheight- height of the image in pixelscomponents- colour space componentsbpc- bits per colour.data- array containing raw image datatransparency- 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 convertcolor- if different fromnullthe 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- thejava.awt.Imageto convertcolor- if different fromnullthe transparency pixels are replaced by this colorforceBW- iftruethe 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 datanoHeader- 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 imageframe- 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 imageframe- number of frame to be returned, 1-based- Returns:
- GifImageData instance
-
createGifFrames
public static java.util.List<ImageData> createGifFrames(byte[] bytes, int[] frameNumbers)
ReturnsListof gif image frames- Parameters:
bytes- byte array of gif imageframeNumbers- 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)
ReturnsListof gif image frames- Parameters:
url- url of gif imageframeNumbers- 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)
ReturnsListof 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)
ReturnsListof 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 anImageDatainstance 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 returnstrueit doesn't means thatcreate(byte[])won't throw exception- Parameters:
source- image raw bytes- Returns:
trueif first eight bytes are recognised by factory as valid image type andfalseotherwise
-
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 returnstrueit doesn't means thatcreate(byte[])won't throw exception- Parameters:
source- image URL- Returns:
trueif first eight bytes are recognised by factory as valid image type andfalseotherwise
-
isSupportedType
public static boolean isSupportedType(ImageType imageType)
Checks if the type of image is supported by factory.
Note: if this method returnstrueit doesn't means thatcreate(byte[])won't throw exception- Parameters:
imageType- image type- Returns:
trueif image type is supported andfalseotherwise
-
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)
-
-