码迷,mamicode.com
首页 > 其他好文 > 详细

七牛合成动图

时间:2019-01-21 11:05:20      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:result   ring   jpeg   自定义   base64   manage   operation   merge   conf   

注意

  1. 动图合成接口目前仅适用于存储在七牛的图片。
  2. 接口可支持处理的原图片格式有 jpeg 和 png。
  3. 支持的最大帧数为 20。
  4. 支持的最大图片尺寸为 1080*1080

准备

  1. 素材
  2. 图2文件名 base64 编码
    • png/width300/19-01-21-1f1133cc505f67f48ac32a300c7018c1.png -> cG5nL3dpZHRoMzAwLzE5LTAxLTIxLTFmMTEzM2NjNTA1ZjY3ZjQ4YWMzMmEzMDBjNzAxOGMxLnBuZw==
  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);
    }

}

其他

  1. 必须是多张宽高尺寸相同的图片,文档里没说明

参考文档

合成动图

七牛合成动图

标签:result   ring   jpeg   自定义   base64   manage   operation   merge   conf   

原文地址:https://www.cnblogs.com/shliujing/p/qi-niu-he-cheng-dong-tu.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!