- java.lang.Object
-
- com.itextpdf.text.pdf.codec.GifImage
-
public class GifImage extends java.lang.ObjectReads gif images of all types. All the images in a gif are read in the constructors and can be retrieved with other methods.- Author:
- Paulo Soares (psoares@consiste.pt)
-
-
Field Summary
Fields Modifier and Type Field Description protected intbgColorprotected intbgIndexprotected byte[]blockprotected intblockSizeprotected intdelayprotected intdisposeprotected java.util.ArrayListframesprotected byte[]fromDataprotected java.net.URLfromUrlprotected booleangctFlagprotected intheightprotected intihprotected java.io.DataInputStreaminprotected booleaninterlaceprotected intiwprotected intixprotected intiyprotected booleanlctFlagprotected intlctSizeprotected intm_bpcprotected byte[]m_curr_tableprotected intm_gbpcprotected byte[]m_global_tableprotected intm_line_strideprotected byte[]m_local_tableprotected byte[]m_outprotected static intMaxStackSizeprotected intpixelAspectprotected byte[]pixelsprotected byte[]pixelStackprotected short[]prefixprotected byte[]suffixprotected inttransIndexprotected booleantransparencyprotected intwidth
-
Constructor Summary
Constructors Constructor Description GifImage(byte[] data)Reads gif images from a byte array.GifImage(java.io.InputStream is)Reads gif images from a stream.GifImage(java.lang.String file)Reads gif images from a file.GifImage(java.net.URL url)Reads gif images from an URL.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleandecodeImageData()intgetFrameCount()Gets the number of frames the gif has.int[]getFramePosition(int frame)Gets the [x,y] position of the frame in reference to the logical screen.ImagegetImage(int frame)Gets the image from a frame.int[]getLogicalScreen()Gets the logical screen.protected static intnewBpc(int bpc)protected intreadBlock()Reads next variable length block from input.protected byte[]readColorTable(int bpc)protected voidreadContents()protected voidreadGraphicControlExt()Reads Graphics Control Extension valuesprotected voidreadHeader()Reads GIF file header information.protected voidreadImage()Reads next frame imageprotected voidreadLSD()Reads Logical Screen Descriptorprotected intreadShort()Reads next 16-bit value, LSB firstprotected voidresetFrame()Resets frame state for reading next image.protected voidsetPixel(int x, int y, int v)protected voidskip()Skips variable length blocks up to and including next zero length block.
-
-
-
Field Detail
-
in
protected java.io.DataInputStream in
-
width
protected int width
-
height
protected int height
-
gctFlag
protected boolean gctFlag
-
bgIndex
protected int bgIndex
-
bgColor
protected int bgColor
-
pixelAspect
protected int pixelAspect
-
lctFlag
protected boolean lctFlag
-
interlace
protected boolean interlace
-
lctSize
protected int lctSize
-
ix
protected int ix
-
iy
protected int iy
-
iw
protected int iw
-
ih
protected int ih
-
block
protected byte[] block
-
blockSize
protected int blockSize
-
dispose
protected int dispose
-
transparency
protected boolean transparency
-
delay
protected int delay
-
transIndex
protected int transIndex
-
MaxStackSize
protected static final int MaxStackSize
- See Also:
- Constant Field Values
-
prefix
protected short[] prefix
-
suffix
protected byte[] suffix
-
pixelStack
protected byte[] pixelStack
-
pixels
protected byte[] pixels
-
m_out
protected byte[] m_out
-
m_bpc
protected int m_bpc
-
m_gbpc
protected int m_gbpc
-
m_global_table
protected byte[] m_global_table
-
m_local_table
protected byte[] m_local_table
-
m_curr_table
protected byte[] m_curr_table
-
m_line_stride
protected int m_line_stride
-
fromData
protected byte[] fromData
-
fromUrl
protected java.net.URL fromUrl
-
frames
protected java.util.ArrayList frames
-
-
Constructor Detail
-
GifImage
public GifImage(java.net.URL url) throws java.io.IOExceptionReads gif images from an URL.- Parameters:
url- the URL- Throws:
java.io.IOException- on error
-
GifImage
public GifImage(java.lang.String file) throws java.io.IOExceptionReads gif images from a file.- Parameters:
file- the file- Throws:
java.io.IOException- on error
-
GifImage
public GifImage(byte[] data) throws java.io.IOExceptionReads gif images from a byte array.- Parameters:
data- the byte array- Throws:
java.io.IOException- on error
-
GifImage
public GifImage(java.io.InputStream is) throws java.io.IOExceptionReads gif images from a stream. The stream is not closed.- Parameters:
is- the stream- Throws:
java.io.IOException- on error
-
-
Method Detail
-
getFrameCount
public int getFrameCount()
Gets the number of frames the gif has.- Returns:
- the number of frames the gif has
-
getImage
public Image getImage(int frame)
Gets the image from a frame. The first frame is 1.- Parameters:
frame- the frame to get the image from- Returns:
- the image
-
getFramePosition
public int[] getFramePosition(int frame)
Gets the [x,y] position of the frame in reference to the logical screen.- Parameters:
frame- the frame- Returns:
- the [x,y] position of the frame
-
getLogicalScreen
public int[] getLogicalScreen()
Gets the logical screen. The images may be smaller and placed in some position in this screen to playback some animation. No image will be be bigger that this.- Returns:
- the logical screen dimensions as [x,y]
-
readHeader
protected void readHeader() throws java.io.IOExceptionReads GIF file header information.- Throws:
java.io.IOException
-
readLSD
protected void readLSD() throws java.io.IOExceptionReads Logical Screen Descriptor- Throws:
java.io.IOException
-
readShort
protected int readShort() throws java.io.IOExceptionReads next 16-bit value, LSB first- Throws:
java.io.IOException
-
readBlock
protected int readBlock() throws java.io.IOExceptionReads next variable length block from input.- Returns:
- number of bytes stored in "buffer"
- Throws:
java.io.IOException
-
readColorTable
protected byte[] readColorTable(int bpc) throws java.io.IOException- Throws:
java.io.IOException
-
newBpc
protected static int newBpc(int bpc)
-
readContents
protected void readContents() throws java.io.IOException- Throws:
java.io.IOException
-
readImage
protected void readImage() throws java.io.IOExceptionReads next frame image- Throws:
java.io.IOException
-
decodeImageData
protected boolean decodeImageData() throws java.io.IOException- Throws:
java.io.IOException
-
setPixel
protected void setPixel(int x, int y, int v)
-
resetFrame
protected void resetFrame()
Resets frame state for reading next image.
-
readGraphicControlExt
protected void readGraphicControlExt() throws java.io.IOExceptionReads Graphics Control Extension values- Throws:
java.io.IOException
-
skip
protected void skip() throws java.io.IOExceptionSkips variable length blocks up to and including next zero length block.- Throws:
java.io.IOException
-
-