/** * 把jpg图片合并成gif动画 * * @param imgFileName * @param outputFileName */ public void spellGif(final String[] imgFileName, final String outputFileName) { try { //指定Frame的文件 AnimatedGifEncoder e = new AnimatedGifEncoder(); e.start(outputFileName);//开始处理 //e.setQuality(256); e.setDelay(250); //设置延迟时间 for (int i = 0; i < imgFileName.length; i++) { e.addFrame(ImageIO.read(new FileInputStream(imgFileName[i])));//加入Frame } e.finish(); } catch (Exception e) { e.printStackTrace(); } }
AnimatedGifEncoder.java 这个类可以搜索一下,这里贴不上来,蛮长的/** * Class AnimatedGifEncoder - Encodes a GIF file consisting of one or * more frames. * <pre> * Example: * AnimatedGifEncoder e = new AnimatedGifEncoder(); * e.start(outputFileName); * e.setDelay(1000); // 1 frame per sec * e.addFrame(image1); * e.addFrame(image2); * e.finish(); * </pre> * No copyright asserted on the source code of this class. May be used * for any purpose, however, refer to the Unisys LZW patent for restrictions * on use of the associated LZWEncoder class. Please forward any corrections * to [email protected]. * * @author Kevin Weiner, FM Software * @version 1.03 November 2003 */
我这里有点疑问就是gif的动画好像是通过关键帧来实现的,好像没有用刷新,图片刷新让我感觉不是很自然@请大家给我出出主意a
* 把jpg图片合并成gif动画
*
* @param imgFileName
* @param outputFileName
*/
public void spellGif(final String[] imgFileName, final String outputFileName) {
try {
//指定Frame的文件
AnimatedGifEncoder e = new AnimatedGifEncoder();
e.start(outputFileName);//开始处理
//e.setQuality(256);
e.setDelay(250); //设置延迟时间
for (int i = 0; i < imgFileName.length; i++) {
e.addFrame(ImageIO.read(new FileInputStream(imgFileName[i])));//加入Frame
}
e.finish();
} catch (Exception e) {
e.printStackTrace();
}
}
这个类可以搜索一下,这里贴不上来,蛮长的/**
* Class AnimatedGifEncoder - Encodes a GIF file consisting of one or
* more frames.
* <pre>
* Example:
* AnimatedGifEncoder e = new AnimatedGifEncoder();
* e.start(outputFileName);
* e.setDelay(1000); // 1 frame per sec
* e.addFrame(image1);
* e.addFrame(image2);
* e.finish();
* </pre>
* No copyright asserted on the source code of this class. May be used
* for any purpose, however, refer to the Unisys LZW patent for restrictions
* on use of the associated LZWEncoder class. Please forward any corrections
* to [email protected].
*
* @author Kevin Weiner, FM Software
* @version 1.03 November 2003
*/