Package com.aowagie.text.pdf.codec
Class GifImage
- java.lang.Object
-
- com.aowagie.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classGifImage.GifFrame
-
Field Summary
Fields Modifier and Type Field Description private byte[]blockprivate intblockSizeprivate intdisposeprivate java.util.ArrayListframesprivate byte[]fromDataprivate java.net.URLfromUrlprivate booleangctFlagprivate intheightprivate intihprivate java.io.DataInputStreaminprivate booleaninterlaceprivate intiwprivate intixprivate intiyprivate booleanlctFlagprivate intm_bpcprivate byte[]m_curr_tableprivate intm_gbpcprivate byte[]m_global_tableprivate intm_line_strideprivate byte[]m_outprivate static intMaxStackSizeprivate byte[]pixelStackprivate short[]prefixprivate byte[]suffixprivate inttransIndexprivate booleantransparencyprivate intwidth
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleandecodeImageData()intgetFrameCount()Gets the number of frames the gif has.ImagegetImage(int frame)Gets the image from a frame.int[]getLogicalScreen()Gets the logical screen.private static intnewBpc(int bpc)private voidprocess(java.io.InputStream is)private intreadBlock()Reads next variable length block from input.private byte[]readColorTable(int bpc)private voidreadContents()private voidreadGraphicControlExt()Reads Graphics Control Extension valuesprivate voidreadHeader()Reads GIF file header information.private voidreadImage()Reads next frame imageprivate voidreadLSD()Reads Logical Screen Descriptorprivate intreadShort()Reads next 16-bit value, LSB firstprivate voidsetPixel(int x, int y, int v)private voidskip()Skips variable length blocks up to and including next zero length block.
-
-
-
Field Detail
-
in
private java.io.DataInputStream in
-
width
private int width
-
height
private int height
-
gctFlag
private boolean gctFlag
-
lctFlag
private boolean lctFlag
-
interlace
private boolean interlace
-
ix
private int ix
-
iy
private int iy
-
iw
private int iw
-
ih
private int ih
-
block
private final byte[] block
-
blockSize
private int blockSize
-
dispose
private int dispose
-
transparency
private boolean transparency
-
transIndex
private int transIndex
-
MaxStackSize
private static final int MaxStackSize
- See Also:
- Constant Field Values
-
prefix
private short[] prefix
-
suffix
private byte[] suffix
-
pixelStack
private byte[] pixelStack
-
m_out
private byte[] m_out
-
m_bpc
private int m_bpc
-
m_gbpc
private int m_gbpc
-
m_global_table
private byte[] m_global_table
-
m_curr_table
private byte[] m_curr_table
-
m_line_stride
private int m_line_stride
-
fromData
private byte[] fromData
-
fromUrl
private java.net.URL fromUrl
-
frames
private final 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(byte[] data) throws java.io.IOExceptionReads gif images from a byte array.- Parameters:
data- the byte array- 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
-
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]
-
process
private void process(java.io.InputStream is) throws java.io.IOException- Throws:
java.io.IOException
-
readHeader
private void readHeader() throws java.io.IOExceptionReads GIF file header information.- Throws:
java.io.IOException
-
readLSD
private void readLSD() throws java.io.IOExceptionReads Logical Screen Descriptor- Throws:
java.io.IOException
-
readShort
private int readShort() throws java.io.IOExceptionReads next 16-bit value, LSB first- Throws:
java.io.IOException
-
readBlock
private int readBlock() throws java.io.IOExceptionReads next variable length block from input.- Returns:
- number of bytes stored in "buffer"
- Throws:
java.io.IOException
-
readColorTable
private byte[] readColorTable(int bpc) throws java.io.IOException- Throws:
java.io.IOException
-
newBpc
private static int newBpc(int bpc)
-
readContents
private void readContents() throws java.io.IOException- Throws:
java.io.IOException
-
readImage
private void readImage() throws java.io.IOExceptionReads next frame image- Throws:
java.io.IOException
-
decodeImageData
private boolean decodeImageData() throws java.io.IOException- Throws:
java.io.IOException
-
setPixel
private void setPixel(int x, int y, int v)
-
readGraphicControlExt
private void readGraphicControlExt() throws java.io.IOExceptionReads Graphics Control Extension values- Throws:
java.io.IOException
-
skip
private void skip() throws java.io.IOExceptionSkips variable length blocks up to and including next zero length block.- Throws:
java.io.IOException
-
-