Class GifImage

java.lang.Object
com.aowagie.text.pdf.codec.GifImage

public class GifImage extends Object
Reads gif images of all types. All the images in a gif are read in the constructors and can be retrieved with other methods.
  • Field Details

    • in

      private 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:
    • 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 URL fromUrl
    • frames

      private final ArrayList frames
  • Constructor Details

    • GifImage

      public GifImage(URL url) throws IOException
      Reads gif images from an URL.
      Parameters:
      url - the URL
      Throws:
      IOException - on error
    • GifImage

      public GifImage(byte[] data) throws IOException
      Reads gif images from a byte array.
      Parameters:
      data - the byte array
      Throws:
      IOException - on error
  • Method Details

    • 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(InputStream is) throws IOException
      Throws:
      IOException
    • readHeader

      private void readHeader() throws IOException
      Reads GIF file header information.
      Throws:
      IOException
    • readLSD

      private void readLSD() throws IOException
      Reads Logical Screen Descriptor
      Throws:
      IOException
    • readShort

      private int readShort() throws IOException
      Reads next 16-bit value, LSB first
      Throws:
      IOException
    • readBlock

      private int readBlock() throws IOException
      Reads next variable length block from input.
      Returns:
      number of bytes stored in "buffer"
      Throws:
      IOException
    • readColorTable

      private byte[] readColorTable(int bpc) throws IOException
      Throws:
      IOException
    • newBpc

      private static int newBpc(int bpc)
    • readContents

      private void readContents() throws IOException
      Throws:
      IOException
    • readImage

      private void readImage() throws IOException
      Reads next frame image
      Throws:
      IOException
    • decodeImageData

      private boolean decodeImageData() throws IOException
      Throws:
      IOException
    • setPixel

      private void setPixel(int x, int y, int v)
    • readGraphicControlExt

      private void readGraphicControlExt() throws IOException
      Reads Graphics Control Extension values
      Throws:
      IOException
    • skip

      private void skip() throws IOException
      Skips variable length blocks up to and including next zero length block.
      Throws:
      IOException