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 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.Imagestatic 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 imagestatic ImageData
createGifFrame(java.net.URL url, int frame)
Returns a specified frame of the gif imagestatic java.util.List<ImageData>
createGifFrames(byte[] bytes)
ReturnsList
of gif image framesstatic java.util.List<ImageData>
createGifFrames(byte[] bytes, int[] frameNumbers)
ReturnsList
of gif image framesstatic java.util.List<ImageData>
createGifFrames(java.net.URL url)
ReturnsList
of gif image framesstatic java.util.List<ImageData>
createGifFrames(java.net.URL url, int[] frameNumbers)
ReturnsList
of gif image framesprivate 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 anImageData
instance from a Jpeg image urlstatic 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)
-
-
-
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 fromnull
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
- thejava.awt.Image
to convertcolor
- if different fromnull
the transparency pixels are replaced by this colorforceBW
- iftrue
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 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)
ReturnsList
of 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)
ReturnsList
of 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)
ReturnsList
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)
ReturnsList
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 anImageData
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 returnstrue
it doesn't means thatcreate(byte[])
won't throw exception- Parameters:
source
- image raw bytes- Returns:
true
if first eight bytes are recognised by factory as valid image type andfalse
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 returnstrue
it doesn't means thatcreate(byte[])
won't throw exception- Parameters:
source
- image URL- Returns:
true
if first eight bytes are recognised by factory as valid image type andfalse
otherwise
-
isSupportedType
public static boolean isSupportedType(ImageType imageType)
Checks if the type of image is supported by factory.
Note: if this method returnstrue
it doesn't means thatcreate(byte[])
won't throw exception- Parameters:
imageType
- image type- Returns:
true
if image type is supported andfalse
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)
-
-