Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 15843

解析Gif文件的每一帧为图片文件

$
0
0
网上下了解析gif的代码,有以下几个类(可以在网上找到):
AnimatedGifEncoder
GifDecoder
LZWEncoder
NeuQuant

调用的例子:
public static void main(String[] args) throws ImageFormatException,
			IOException {
		GifDecoder d = new GifDecoder();
		d.read("C:\\Users\\rui\\Desktop\\1.gif");
//		d.decodeImageData();
		int n = d.getFrameCount();
		System.out.println(d.gctFlag);
		System.out.println(d.gctSize);
		System.out.println(d.gct);
//		for(int i : d.gct) System.out.println(i);
		for (int i = 0; i < n; i++) {
			BufferedImage frame = d.getFrame(i); //  frame i
			
			int t = d.getDelay(i);
			FileOutputStream fos = new FileOutputStream("C:\\Users\\rui\\Desktop\\zrzr\\" + i + ".jpg");
			JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
			encoder.encode(frame);
			fos.close();
		}
	}



问题:
解析出来的图片颜色的怪怪的,背景是红色的...反正和原来看到的gif不一样,找半天原因,可能和 全局色表(global color table)有关,但还没弄明白。
看GIF文件协议看的头疼!
妈呀,谁能帮帮我?!

已有 0人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐




Viewing all articles
Browse latest Browse all 15843

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>