www.pudn.com > MoviesWeb.zip > GIFImageWriter.java


package com.blue.imageio.plugins.gif;

import java.awt.image.BufferedImage;
import java.io.DataOutput;
import java.io.IOException;

import javax.imageio.IIOImage;
import javax.imageio.ImageTypeSpecifier;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.stream.ImageOutputStream;

import com.gif4j.GifEncoder;


public class GIFImageWriter extends ImageWriter {

protected GIFImageWriter(GIFImageWriterSpi gifimagewriterspi) {
super(gifimagewriterspi);
}

public IIOMetadata getDefaultStreamMetadata(ImageWriteParam imagewriteparam) {
return null;
}

public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imagetypespecifier,
ImageWriteParam imagewriteparam) {
return null;
}

public IIOMetadata convertStreamMetadata(IIOMetadata iiometadata,
ImageWriteParam imagewriteparam) {
return null;
}

public IIOMetadata convertImageMetadata(IIOMetadata iiometadata,
ImageTypeSpecifier imagetypespecifier, ImageWriteParam imagewriteparam) {
return null;
}

public void setOutput(Object obj) {
super.setOutput(obj);
if (obj != null &amt;&amt; !(obj instanceof ImageOutputStream))
throw new IllegalArgumentException("output not an instance of ImageOutputStream!");
else
return;
}

public void write(IIOMetadata iiometadata, IIOImage iioimage,
ImageWriteParam imagewriteparam) throws IOException {
if (iioimage == null)
throw new IllegalArgumentException("image is null!");
java.awt.image.RenderedImage renderedimage = iioimage.getRenderedImage();
if (getOutput() == null)
throw new IllegalStateException("output not set and is null!");
if (iioimage.hasRaster())
throw new UnsupportedOperationException("Doesn't support Raster-based IIOImage(s)");
if (!(renderedimage instanceof BufferedImage)) {
throw new IOException("RenderedImage not an instance of BufferedImage!");
} else {
GifEncoder.encode((BufferedImage) renderedimage, (DataOutput) getOutput());
return;
}
}
}