public class AnimationGIF
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
aeNodeName |
private static java.lang.String |
aesNodeName |
private java.io.ByteArrayOutputStream |
baos |
private int |
counter |
private static java.lang.String |
delayNodeName |
private static java.lang.String |
formatName |
private static java.lang.String |
gceNodeName |
private javax.imageio.metadata.IIOMetadata |
iiom |
private javax.imageio.stream.ImageOutputStream |
ios |
private javax.imageio.ImageWriteParam |
iwp |
private int |
loops |
private static java.lang.String |
transparencyFlagNodeName |
private static java.lang.String |
transparencyIndexNodeName |
private javax.imageio.ImageWriter |
writer |
Constructor and Description |
---|
AnimationGIF(int loops)
create a gif animation producer
|
Modifier and Type | Method and Description |
---|---|
void |
addImage(java.awt.image.RenderedImage image,
int delayMillis,
int transparencyColorIndex)
add an image to the animation
|
private static java.awt.image.RenderedImage |
generateTestImage(int width,
int height,
java.util.Random r,
double angle)
test image generator
|
byte[] |
get()
produce the gif image as byte array
|
static void |
main(java.lang.String[] args) |
private static void |
setLoops(javax.imageio.metadata.IIOMetadata metaData,
int loops)
set number of loops for this animation
|
private static void |
setMetadata(javax.imageio.metadata.IIOMetadata metaData,
int delayMillis,
int transparencyColorIndex) |
private static final java.lang.String formatName
private static final java.lang.String aesNodeName
private static final java.lang.String aeNodeName
private static final java.lang.String gceNodeName
private static final java.lang.String delayNodeName
private static final java.lang.String transparencyFlagNodeName
private static final java.lang.String transparencyIndexNodeName
private int counter
private int loops
private javax.imageio.metadata.IIOMetadata iiom
private javax.imageio.ImageWriter writer
private javax.imageio.ImageWriteParam iwp
private javax.imageio.stream.ImageOutputStream ios
private java.io.ByteArrayOutputStream baos
public AnimationGIF(int loops)
loops
- - number of loops for the animated images. -1 = no loops; 0 = indefinitely loops; else: number of loopspublic void addImage(java.awt.image.RenderedImage image, int delayMillis, int transparencyColorIndex) throws java.io.IOException
image
- the imagedelayMillis
- the frame time of the image in millisecondstransparencyColorIndex
- the index of the transparent color, -1 if not usedjava.io.IOException
public byte[] get()
private static void setMetadata(javax.imageio.metadata.IIOMetadata metaData, int delayMillis, int transparencyColorIndex) throws javax.imageio.metadata.IIOInvalidTreeException
javax.imageio.metadata.IIOInvalidTreeException
private static void setLoops(javax.imageio.metadata.IIOMetadata metaData, int loops) throws javax.imageio.metadata.IIOInvalidTreeException
metaData
- loops
- - 0 = loop continuously; 1-65535 = a specific number of loopsjavax.imageio.metadata.IIOInvalidTreeException
private static java.awt.image.RenderedImage generateTestImage(int width, int height, java.util.Random r, double angle)
public static void main(java.lang.String[] args)