tencent cloud

Feedback

Basic Image Processing

Last updated: 2022-01-23 12:51:17

    Overview

    COS has integrated Cloud Infinite (CI), a one-stop professional multimedia solution that offers the image processing features outlined below. For more information, please see Image Processing Overview.

    Service Feature Description
    Image Processing-Basic Services Scaling Proportional scaling, scaling image to target width and height, and more
    Cropping Cut (regular cropping), crop (scaling and cropping), iradius (inscribed circle cropping), and scrop (smart cropping)
    Rotation Adaptive rotation and common rotation
    Format conversion Format conversion, GIF optimization, and progressive display
    Quality conversion Changes the quality of images in JPG and WEBP formats
    Gaussian blurring Blurs images
    Sharpening Sharpens images
    Watermarking Image watermarks, text watermarks
    Obtaining image information Basic information, EXIF data, average hue
    Removing metadata Includes EXIF data
    Quick thumbnail template Performs quick format conversion, scaling, and cropping to generate thumbnails

    SDK API References

    For the parameters and method descriptions of all the APIs in the SDK, see SDK API Reference.

    Scaling

    Sample code

    String bucket = "examplebucket-1250000000"; // Bucket, formatted as BucketName-APPID
    String cosPath = "exampleobject"; // The location identifier of the object in the bucket, i.e., the object key
    String savePath = context.getExternalCacheDir().toString(); // Local path
    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;
       }
        // If you use the Kotlin language to call this, please note that the exception in the callback method is nullable; otherwise, the onFail method will not be called back, that is:
       // clientException is of type CosXmlClientException? and serviceException is of type CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    Note:

    For more samples, please visit GitHub.

    Cropping

    The following example shows how to process an in-cloud image and store the processing result in COS.

    Sample code

    String bucket = "examplebucket-1250000000"; // Bucket, formatted as BucketName-APPID
    String cosPath = "exampleobject"; // The location identifier of the object in the bucket, i.e., the object key
    String savePath = context.getExternalCacheDir().toString(); // Local path
    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;
       }
        // If you use the Kotlin language to call this, please note that the exception in the callback method is nullable; otherwise, the onFail method will not be called back, that is:
       // clientException is of type CosXmlClientException? and serviceException is of type CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    Note:

    For more samples, please visit GitHub.

    Rotating

    The following sample shows how to process an image stored in COS upon the download:

    Sample code

    String bucket = "examplebucket-1250000000"; // Bucket, formatted as BucketName-APPID
    String cosPath = "exampleobject"; // The location identifier of the object in the bucket, i.e., the object key
    String savePath = context.getExternalCacheDir().toString(); // Local path
    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;
       }
        // If you use the Kotlin language to call this, please note that the exception in the callback method is nullable; otherwise, the onFail method will not be called back, that is:
       // clientException is of type CosXmlClientException? and serviceException is of type CosXmlServiceException?
       @Override
       public void onFail(CosXmlRequest cosXmlRequest,
                          @Nullable CosXmlClientException clientException,
                          @Nullable CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    Note:

    For more samples, please visit GitHub.

    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support