七牛合成动图

主要看操作步骤图片裁剪另存为为附属项,不需要可以不看。

注意

  1. 动图合成接口目前仅适用于存储在七牛的图片
  2. 接口可支持处理的原图片格式有 jpeg 和 png
  3. 支持的最大帧数为 20
  4. 支持的最大图片尺寸为 1080*1080,必须是多张宽高尺寸相同的图片,文档里没说明
  5. 文件名,拼凑的 key 值必须经过 Base64 编码,多个图片文件拼凑时,不断拼凑/key/<文件名base64Encode >即可

操作步骤

实现效果,将3张图片合成1张 gif 动图。

  1. 素材,准备3张同宽高尺寸的图 A/B/C
  2. 对 B 和 C 文件名进行 base64 编码,编码后的值为 D 和 E
    • D: png/width300/19-01-21-1f1133cc505f67f48ac32a300c7018c1.png base64 编码后: cG5nL3dpZHRoMzAwLzE5LTAxLTIxLTFmMTEzM2NjNTA1ZjY3ZjQ4YWMzMmEzMDBjNzAxOGMxLnBuZw==
    • E: png/width300/19-01-21-d3a276d1eb5145e78c93bd9c736058da.png base64 编码后: cG5nL3dpZHRoMzAwLzE5LTAxLTIxLWQzYTI3NmQxZWI1MTQ1ZTc4YzkzYmQ5YzczNjA1OGRhLnBuZw==
    • base64编码在线加密解密: http://tool.oschina.net/encrypt?type=3
  3. 拼凑 url,具体格式和拼凑结果

图片裁剪

可以使用七牛的图片裁剪功能,将多张图片裁剪为相同尺寸,如将图片裁剪为宽高为300的图片,使用?imageView2/1/w/300/h/300/format/jpg即可。

https://i.iamlj.com/19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png
--->
https://i.iamlj.com/19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png?imageView2/1/w/300/h/300/format/jpg

另存为

裁剪图片结果url图片,都可以使用处理结果另存功能,保存为新的文件名。

裁剪图片另存为

如下 Java 代码,是将存储空间中的文件19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png 裁剪为宽高300的 jpg 图片保存为 png/width300/19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png新文件。实现可通过 https://i.iamlj.com/png/width300/19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png 访问的效果。

/**
 * 图片另存为
 */
public class PfopsImage {

    public static void main(String args[]) throws IOException {
        //设置好账号的ACCESS_KEY和SECRET_KEY
        String ACCESS_KEY = Config.ACCESS_KEY;
        String SECRET_KEY = Config.SECRET_KEY;
        //要上传的空间
        String bucketname = "image";
        String key = "19-01-21-1f1133cc505f67f48ac32a300c7018c1.png";
        //上传后的文件名
        String newKey = "png/width300/19-01-21-1f1133cc505f67f48ac32a300c7018c1.png";

        //设置转码操作参数
        String fops = "imageView2/1/w/300/h/300/format/jpg";
        //设置转码的队列
        String pipeline = "12349";

        //可以对转码后的文件进行使用saveas参数自定义命 名,当然也可以不指定文件会默认命名并保存在当前空间。
        String urlbase64 = UrlSafeBase64.encodeToString(bucketname + ":" + newKey);
        String pfops = fops + "|saveas/" + urlbase64;

        //密钥配置
        Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);

        //第二种方式: 自动识别要上传的空间(bucket)的存储区域是华东、华北、华南。
        Zone z = Zone.autoZone();
        Configuration c = new Configuration(z);

        OperationManager operationManager = new OperationManager(auth, c);

        String id = null;
        try {
            id = operationManager.pfop(bucketname, key, pfops, pipeline, true);
        } catch (QiniuException e) {
            e.printStackTrace();
        }

        System.out.println(id);
    }

}

gif 结果图片另存为

同理利用另存为功能将文件

png/width300/19-01-21-e43bb0d5e2f8f0bf48a36f20c1e5a779.png?animate/duration/20/merge/key/cG5nL3dpZHRoMzAwLzE5LTAxLTIxLTFmMTEzM2NjNTA1ZjY3ZjQ4YWMzMmEzMDBjNzAxOGMxLnBuZw==/key/cG5nL3dpZHRoMzAwLzE5LTAxLTIxLWQzYTI3NmQxZWI1MTQ1ZTc4YzkzYmQ5YzczNjA1OGRhLnBuZw==

另存为

gif/width300/19-01-21-gif-result.png

19-01-21-2ea6285638ab36475d4fb9c91c05bdb8.png

参考文档

合成动图

转载于:https://www.cnblogs.com/shliujing/p/qi-niu-he-cheng-dong-tu.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值