方法一
网上下了解析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)有关,但还没弄明白。
方法二
File file = new File("C:\\Users\\Administrator\\Desktop\\1.gif");
FileImageInputStream in = new FileImageInputStream(file);
//GIFImageReader reader = null;
ImageReaderSpi readerSpi = new GIFImageReaderSpi();
//readerSpi.canDecodeInput(in);
GIFImageReader gifReader = (GIFImageReader) readerSpi.createReaderInstance();
gifReader.setInput(in);
int num = gifReader.getNumImages(true);
gifReader.getNumImages(true);
System.out.println(num);
ImageWriterSpi writerSpi = new GIFImageWriterSpi();
GIFImageWriter writer = (GIFImageWriter) writerSpi.createWriterInstance();
for (int i = 0; i < num; i++) {
File newfile = new File("C:\\Users\\Administrator\\Desktop\\zrzr\\"+i+".jpg");
FileImageOutputStream out = new FileImageOutputStream(newfile);
writer.setOutput(out);
writer.write(gifReader.read(i));
out.close();
}
分享到:
相关推荐
使用ImageIO解析Gif文件,使用QuzrtzCore完成gif动画的显示。能够控制gif图片中每帧的播放时间。 本工具类最大的特点就是考虑到Gif中每一帧画面的显示时间,网上现有的大部分Gif工具类都没有考虑到这一点,所以播放...
解码吧gif的每一帧转换成dib gif文件格式网上有很多介绍 gif用的变长lzw压缩算法: 没弄懂原理,只知道过程。压缩取一个字符作为后缀,看看字符串是否存在。存在,用对应的编码作为前缀继续取;不存在把字符串添加...
于是自己写一个解析Gif的工具类,解决每一帧画面并遵循每一帧所对应的显示时间进行播放。 程序的思路如下: 1、首先使用ImageIO库中的CGImageSource家在Gif文件。 2、通过CGImageSource获取到Gif...
run ( 'fuzzy' ) 第一次执行gifviewer时,它将读取gif文件,对其进行解析,然后将每个帧的压缩形式写到微控制器的本地磁盘(在名为“ cache_ ”的目录下)。 一旦完成,微控制器将执行machine.restart()释放内存并...
一种方式是通过ImageIO框架中的方法将gif文件中的数据进行解析,再使用coreAnimation核心动画来播放gif动画,另一种方式计较简单,可以直接通过webView来渲染gif图。 二、为原生的UIImageView添加类别来支持gif动态...
Gif动图解析工具,可以检查gif文件是否真实有效,查看文件各项参数,分离gif每帧图片并且可以保存帧图片。已将.net5的运行环境一同打包,可直接使用哦
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
A) 帧中的对象是唯一的 B) 开始帧和结束帧中的对象相同 C) 开始帧和结束帧都是关键帧 D) 开始帧和结束帧中的对象不同 参考答案: D 收起解析 解析: 无 窗体底端 窗体顶端 7(5.0分) 下列各项中,()不是常用的...
4)修正不能对单帧GIF图片添加水印的问题,但GIF动画暂时还不支持添加水印! 5)重写及优化了控件html代码转xhtml代码的JS方法,现在即时转换XHTML的性能更佳,也修正了原来开启xhtml转换会破坏代码的BUG!(此功能测试稳定...
我已经序列化了GIF的每一帧,并将其保存为二进制文件。 然后,我使用url-loader加载每个帧,并将base64数据放入源文件中。 这样我就不需要将图像库打包到我的捆绑包中以在运行时解析gif了。 它仅取决于。 因此,下...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解...可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq...