Image Processing

Last updated: 2021-08-13 11:26:46


    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
    Basic image processing service 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 Reference

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

    Processing an Image upon the Upload

    The following example shows how to automatically process an image when you upload it to COS.

    When the image is uploaded successfully, COS will save both the input and output images. You can later obtain the processing results using a general download request.

    Sample code

    List<PicOperationRule> rules = new LinkedList<>();
    // Add a rule to convert the image to PNG format, and the resulting image will be saved in a bucket with a location identifier in the format:
    // examplepngobject
    rules.add(new PicOperationRule("examplepngobject", "imageView2/format/png"));
    PicOperations picOperations = new PicOperations(true, rules);
    PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, cosPath, srcPath);
    // If the upload is successful, you will get 2 images: the original and the processed images
    COSXMLUploadTask cosxmlUploadTask = transferManager.upload(bucket, cosPath,
           srcPath, uploadId);

    For more samples, please visit GitHub.