|
|||||||||
| Home >> All >> com >> [ fmsware overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.fmsware
Class GifDecoder

java.lang.Objectcom.fmsware.GifDecoder
- public class GifDecoder
- extends java.lang.Object
Class GifDecoder - Decodes a GIF file into one or more frames.
Example:
GifDecoder d = new GifDecoder();
d.read("sample.gif");
int n = d.getFrameCount();
for (int i = 0; i < n; i++) {
Image frame = d.getFrame(i); // frame i
int t = d.getDelay(i); // display duration of frame in milliseconds
// do something with frame
}
No copyright asserted on the source code of this class. May be used for
any purpose, however, refer to the Unisys LZW patent for any additional
restrictions. Please forward any corrections to kweiner@fmsware.com.
- Version:
- 1.01 July 2001
| Nested Class Summary | |
(package private) static class |
GifDecoder.GifFrame
|
| Field Summary | |
protected int[] |
act
|
protected int |
bgColor
|
protected int |
bgIndex
|
protected byte[] |
block
|
protected int |
blockSize
|
protected int |
delay
|
protected int |
dispose
|
protected int |
frameCount
|
protected java.util.Vector |
frames
|
protected int[] |
gct
|
protected boolean |
gctFlag
|
protected int |
gctSize
|
protected int |
height
|
protected int |
ih
|
protected int[] |
image
|
protected java.io.BufferedInputStream |
in
|
protected boolean |
interlace
|
protected int |
iw
|
protected int |
ix
|
protected int |
iy
|
protected int |
lastBgColor
|
protected int |
lastDispose
|
protected int[] |
lastImage
|
protected java.awt.Rectangle |
lastRect
|
protected int[] |
lct
|
protected boolean |
lctFlag
|
protected int |
lctSize
|
protected int |
loopCount
|
protected static int |
MaxStackSize
|
protected int |
pixelAspect
|
protected byte[] |
pixels
|
protected byte[] |
pixelStack
|
protected short[] |
prefix
|
protected int |
status
|
static int |
STATUS_FORMAT_ERROR
File read status: Error decoding file (may be partially decoded) |
static int |
STATUS_OK
File read status: No errors. |
static int |
STATUS_OPEN_ERROR
File read status: Unable to open source. |
protected byte[] |
suffix
|
protected int |
transIndex
|
protected boolean |
transparency
|
protected int |
width
|
| Constructor Summary | |
GifDecoder()
|
|
| Method Summary | |
private java.awt.Image |
createImage(int[] src)
|
protected void |
decodeImageData()
Decodes LZW image data into pixel array. |
static int |
encodeColor(java.awt.Color c)
|
static int |
encodeColor(int r,
int g,
int b)
|
protected boolean |
err()
Returns true if an error was encountered during reading/decoding |
int |
getDelay(int n)
Gets display duration for specified frame. |
java.awt.Image |
getFrame(int n)
Gets the image contents of frame n. |
int |
getFrameCount()
Gets the number of frames read from file. |
java.awt.Image |
getImage()
Gets the first (or only) image read. |
private int[] |
getImageSourceFrame(int n)
|
int |
getLoopCount()
Gets the "Netscape" iteration count, if any. |
protected int[] |
getPixels()
Creates new frame image from current data (and previous frames as specified by their disposition codes). |
protected void |
init()
Initializes or re-initializes reader |
protected int |
read()
Reads a single byte from the input stream. |
int |
read(java.io.BufferedInputStream is)
Reads GIF image from stream |
int |
read(java.lang.String name)
Reads GIF file from specified source (file or URL string) |
protected int |
readBlock()
Reads next variable length block from input. |
protected int[] |
readColorTable(int ncolors)
Reads color table as 256 RGB integer values |
protected void |
readContents()
Main file parser. |
protected void |
readGraphicControlExt()
Reads Graphics Control Extension values |
protected void |
readHeader()
Reads GIF file header information. |
protected void |
readImage()
Reads next frame image |
protected void |
readLSD()
Reads Logical Screen Descriptor |
protected void |
readNetscapeExt()
Reads Netscape extenstion to obtain iteration count |
protected int |
readShort()
Reads next 16-bit value, LSB first |
protected void |
resetFrame()
Resets frame state for reading next image. |
protected void |
skip()
Skips variable length blocks up to and including next zero length block. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
STATUS_OK
public static final int STATUS_OK
- File read status: No errors.
- See Also:
- Constant Field Values
STATUS_FORMAT_ERROR
public static final int STATUS_FORMAT_ERROR
- File read status: Error decoding file (may be partially decoded)
- See Also:
- Constant Field Values
STATUS_OPEN_ERROR
public static final int STATUS_OPEN_ERROR
- File read status: Unable to open source.
- See Also:
- Constant Field Values
in
protected java.io.BufferedInputStream in
status
protected int status
width
protected int width
height
protected int height
gctFlag
protected boolean gctFlag
gctSize
protected int gctSize
loopCount
protected int loopCount
gct
protected int[] gct
lct
protected int[] lct
act
protected int[] act
bgIndex
protected int bgIndex
bgColor
protected int bgColor
lastBgColor
protected int lastBgColor
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
lastRect
protected java.awt.Rectangle lastRect
image
protected int[] image
lastImage
protected int[] lastImage
block
protected byte[] block
blockSize
protected int blockSize
dispose
protected int dispose
lastDispose
protected int lastDispose
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
frames
protected java.util.Vector frames
frameCount
protected int frameCount
| Constructor Detail |
GifDecoder
public GifDecoder()
| Method Detail |
getDelay
public int getDelay(int n)
- Gets display duration for specified frame.
getFrame
public java.awt.Image getFrame(int n)
- Gets the image contents of frame n.
getImageSourceFrame
private int[] getImageSourceFrame(int n)
createImage
private java.awt.Image createImage(int[] src)
getFrameCount
public int getFrameCount()
- Gets the number of frames read from file.
getImage
public java.awt.Image getImage()
- Gets the first (or only) image read.
getLoopCount
public int getLoopCount()
- Gets the "Netscape" iteration count, if any.
A count of 0 means repeat indefinitiely.
read
public int read(java.io.BufferedInputStream is)
- Reads GIF image from stream
read
public int read(java.lang.String name)
- Reads GIF file from specified source (file or URL string)
decodeImageData
protected void decodeImageData()
- Decodes LZW image data into pixel array.
Adapted from John Cristy's ImageMagick.
err
protected boolean err()
- Returns true if an error was encountered during reading/decoding
init
protected void init()
- Initializes or re-initializes reader
read
protected int read()
- Reads a single byte from the input stream.
readBlock
protected int readBlock()
- Reads next variable length block from input.
readColorTable
protected int[] readColorTable(int ncolors)
- Reads color table as 256 RGB integer values
readContents
protected void readContents()
- Main file parser. Reads GIF content blocks.
readGraphicControlExt
protected void readGraphicControlExt()
- Reads Graphics Control Extension values
readHeader
protected void readHeader()
- Reads GIF file header information.
readImage
protected void readImage()
- Reads next frame image
readLSD
protected void readLSD()
- Reads Logical Screen Descriptor
readNetscapeExt
protected void readNetscapeExt()
- Reads Netscape extenstion to obtain iteration count
readShort
protected int readShort()
- Reads next 16-bit value, LSB first
resetFrame
protected void resetFrame()
- Resets frame state for reading next image.
getPixels
protected int[] getPixels()
- Creates new frame image from current data (and previous
frames as specified by their disposition codes).
encodeColor
public static int encodeColor(java.awt.Color c)
encodeColor
public static int encodeColor(int r,
int g,
int b)
skip
protected void skip()
- Skips variable length blocks up to and including
next zero length block.
|
|||||||||
| Home >> All >> com >> [ fmsware overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
com.fmsware.GifDecoder