All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class com.kcmultimedia.gifcanvas.GIFParser


java.lang.Object

   |

   +----com.kcmultimedia.gifcanvas.GIFParser


public class GIFParser
extends Object
The GIFParser class encapsulates methods for parsing the frames and control data for an animated (or static) GIF image. The class is instantiated with a Component object (used to create images with the Component's Toolkit.) Next, a Vector of GIFFrame objects are obtained using this class's parse(byte[]) method. The GIFFrame objects contain individual images, absolute positioning, timing and disposal data. The overall width and height of the image are obtained next using the getLogicalScreenWidth() and getLogicalScreenHeight() methods. Finally, the number of iterations for looping are obtained using the getIterations() method. Static methods are provided for conveniently extracting the GIF's byte array from either a File, URL, or generalized DataInputStream.

Sample code for extracting GIF data is shown below:

    import java.util.*;
    import java.awt.*;
    import com.kcmultimedia.gifcanvas.*;
    Vector gifFrames;
    int overallWidth, overallHeight, doLoops;
    public void sampleImageParse(Component aComponent,URL imageURL)
       throws Exception
    {
       //Instantiate GIFParser with the Component and get
       //the data we want...
       GIFParser p = new GIFParser(aComponent);
       gifFrames = p.parse(GIFParser.getBytes(imageURL));
       overallWidth = p.getLogicalScreenWidth();
       overallHeight = p.getLogicalScreenHeight();
       doLoops = p.getIterations();
    }
 


Constructor Index

 o GIFParser(Component)
Construct a GIFParser object

Method Index

 o getBytes(DataInputStream)
Get the GIF's bytes from a java.io.DataInputStream

 o getBytes(File)
Get the GIF's bytes from a java.awt.File object

 o getBytes(URL)
Get the GIF's bytes from a java.net.URL object

 o getIterations()
Get the number of times to repeat the animation.
 o getLogicalScreenHeight()
Get the overall height of the GIF image.
 o getLogicalScreenWidth()
Get the overall width of the GIF image.
 o parse(byte[])
Parse a GIF image, represented by an array of bytes returning a Vector of GIFFrame objects.

Constructors

 o GIFParser

 public GIFParser(Component component)

Construct a GIFParser object

Parameters:
component - a java.awt.Component object that is used to obtain the Toolkit for creating images

Methods

 o parse

 public Vector parse(byte b[]) throws Exception

Parse a GIF image, represented by an array of bytes returning a Vector of GIFFrame objects.

Parameters:
b - a array of bytes representing the GIF image
Returns:
a Vector of GIFFrame objects that contain the GIF data
Throws: Exception
thrown if the GIF file cannot be read or converted into an image.
See Also:
GIFFrame
 o getLogicalScreenWidth

 public int getLogicalScreenWidth()

Get the overall width of the GIF image.

Returns:
the overall width of the GIF in pixels
 o getLogicalScreenHeight

 public int getLogicalScreenHeight()

Get the overall height of the GIF image.

Returns:
the overall height of the GIF in pixels
 o getIterations

 public int getIterations()

Get the number of times to repeat the animation. Note that zero (0) indicates infinite loop.

Returns:
the number of iterations for the animation loop.
 o getBytes

 public static byte[] getBytes(File file) throws IOException

Get the GIF's bytes from a java.awt.File object

Parameters:
file - the GIF image file
Returns:
a byte array containing the GIF data
Throws: IOException
thrown if an I/O Exception occurs.
 o getBytes

 public static byte[] getBytes(URL url) throws IOException

Get the GIF's bytes from a java.net.URL object

Parameters:
url - the GIF image's URL
Returns:
a byte array containing the GIF data
Throws: IOException
thrown if an I/O Exception occurs.
 o getBytes

 public static byte[] getBytes(DataInputStream in) throws IOException

Get the GIF's bytes from a java.io.DataInputStream

Parameters:
in - the DataInputStream representing the GIF data
Returns:
a byte array containing the GIF data
Throws: IOException
thrown if an I/O Exception occurs.


All Packages  Class Hierarchy  This Package  Previous  Next  Index