📄 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;
/**
*
* @author Lucifer
*
*/
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 && !(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;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -