tencent cloud

文档反馈

基础图片处理

最后更新时间:2022-01-23 12:51:17

    简介

    腾讯云对象存储(Cloud Object Storage,COS)集成了 数据万象(Cloud Infinite,CI)专业的一体化多媒体解决方案,涵盖以下图片处理功能,详情可见 图片处理概述

    服务 功能 说明
    基础图片处理服务 缩放 等比缩放、设定目标宽高缩放等多种方式
    裁剪 普通裁剪、缩放裁剪、内切圆、人脸智能裁剪
    旋转 自适应旋转、普通旋转
    格式转换 格式转换、GIF 格式优化、渐进显示
    质量变换 针对 JPG 和 WEBP 图片进行质量变换
    高斯模糊 对图片进行模糊处理
    锐化 对图片进行锐化处理
    添加水印 图片水印文字水印
    获取图片信息 基本信息EXIF 信息主色调
    去除元信息 包括 EXIF 信息
    快速缩略模板 快速实现图片格式转换、缩略、剪裁等功能,生成缩略图

    SDK API 参考

    SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

    缩放

    示例代码

    String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
    String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
    String savePath = context.getExternalCacheDir().toString(); //本地路径
    GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
           savePath);
    getObjectRequest.addQuery("imageMogr2/thumbnail/!50p", null);
    cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
       @Override
       public void onSuccess(CosXmlRequest cosXmlRequest,
                             CosXmlResult cosXmlResult) {
           GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
       }
        // 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
       // clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    说明:

    更多完整示例,请前往 GitHub 查看。

    裁剪

    下面示例展示了如何在对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS。

    示例代码

    String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
    String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
    String savePath = context.getExternalCacheDir().toString(); //本地路径
    GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
           savePath);
    getObjectRequest.addQuery("imageMogr2/iradius/150", null);
    cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
       @Override
       public void onSuccess(CosXmlRequest cosXmlRequest,
                             CosXmlResult cosXmlResult) {
           GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
       }
        // 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
       // clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    说明:

    更多完整示例,请前往 GitHub 查看。

    旋转

    下面示例展示了如何在对已存储在 COS 的图片在下载时进行处理操作。

    示例代码

    String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
    String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
    String savePath = context.getExternalCacheDir().toString(); //本地路径
    GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
           savePath);
    getObjectRequest.addQuery("imageMogr2/rotate/90", null);
    cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
       @Override
       public void onSuccess(CosXmlRequest cosXmlRequest,
                             CosXmlResult cosXmlResult) {
           GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
       }
        // 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
       // clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    说明:

    更多完整示例,请前往 GitHub 查看。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持