Class 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.
    Author:
    Paulo Soares
    • Field Detail

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

        protected ArrayList<com.itextpdf.text.pdf.codec.GifImage.GifFrame> frames
    • Constructor Detail

      • GifImage

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

        public GifImage​(String file)
                 throws IOException
        Reads gif images from a file.
        Parameters:
        file - the file
        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
      • GifImage

        public GifImage​(InputStream is)
                 throws IOException
        Reads gif images from a stream. The stream is not closed.
        Parameters:
        is - the stream
        Throws:
        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 IOException
        Reads GIF file header information.
        Throws:
        IOException
      • readShort

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

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

        protected static int newBpc​(int bpc)
      • 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 IOException
        Reads Graphics Control Extension values
        Throws:
        IOException
      • skip

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