Java根据图片生成GIF动图

这里写图片描述
昨天看到手机QQ空间可以预览自己手机上的图片并生成GIF图片,然后看到微信的公众号上很多都是动图,于是就想用java将几张图片生成gif图。

合成gif的图片大小最好一致,不要问我为什么。

具体代码如下:

/**
 * 多张jpg图片合成一个gif
 * @author colorbin
 * 创建时间: 2017年4月8日 上午11:01:19
 */
public class _jpgToGifUtil {
    public static void main(String[] args) {
        String[] pic = {"D://1.jpg","D://2.jpg"};
        String newwPic = "D://1.gif";
        int playTime = 200;
        jpgToGif(pic,newwPic,playTime);
    }

    /**  
     * 把多张jpg图片合成一张  
     * @param pic String[] 多个jpg文件名 包含路径  
     * @param newPic String 生成的gif文件名 包含路径  
     * @param playTime int 播放的延迟时间   
     */  
    private synchronized static void jpgToGif(String pic[], String newPic, int playTime) {  
        try {  
            AnimatedGifEncoder e = new AnimatedGifEncoder(); 
            e.setRepeat(0);  
            e.start(newPic);  
            BufferedImage src[] = new BufferedImage[pic.length];  
            for (int i = 0; i < src.length; i++) {  
                e.setDelay(playTime); //设置播放的延迟时间  
                src[i] = ImageIO.read(new File(pic[i])); // 读入需要播放的jpg文件  
                e.addFrame(src[i]);  //添加到帧中  
            }  
            e.finish();  
        } catch (Exception e) {  
            System.out.println( "jpgToGif Failed:");  
            e.printStackTrace();  
        }  
    }  


}

前端代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            *{margin: 0;padding: 0;}
            #bg_phone{height: 517.5px;width: 375px;background: url(img/bg_1.png) no-repeat top center;margin: 0 auto;
            margin-top: 50px;
            background-size: 100%;
            }
            #bg_phone_back{
                 border: 0;
            width: 204px;
            height: 357px;
            background-color: #000000;

            overflow: hidden;
            position: relative;
            margin: 0 auto;
            margin-top: 100px;
            top: 54px;
            }
        </style>
    </head>
    <body>
        <div id="bg_phone">
            <div id="bg_phone_back">
                <div style="width: 204px;height: 287px;
                    background: url(img/4a4c0d7af8b1df5a679a791c5c0d9337.gif) no-repeat top center;
                    background-size: 100%;margin-top: 35px;"></div>             
            </div>
        </div>
    </body>
</html>

这里写图片描述

完整代码下载如下:
链接:http://pan.baidu.com/s/1mhESkSo 密码:5bud

全CSDN的丰(好)色(se)博客,这里有书本看不到的Java技术,电影院禁播的电影,欢迎关注QQ群494808400

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值