tencent cloud

Feedback

Basic Image Processing

Last updated: 2022-07-12 11:47:01

    Overview

    This document provides an overview of APIs and SDK code samples for basic image processing.

    Service Feature Description
    Basic image processing Scaling Proportional scaling, scaling image to target width and height
    Cropping Regular cropping, cropping and scaling, inscribed circle cropping, intelligent face cropping
    Rotation Adaptive rotation, regular rotation
    Format conversion Format conversion, GIF format optimization, progressive display
    Quality change Quality change for JPG and WebP images
    Gaussian blurring Image blurring
    Sharpening Image sharpening
    Watermarking Image watermark, text watermark
    Image information acquisition Basic information, EXIF information, average hue
    Metadata removal Including EXIF information
    Quick thumbnail template Quick image format conversion, scaling, and cropping for thumbnail generation

    Processing Image During 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 original and the processed images. You can later obtain the processing results by using a general download request.

    Sample code

    const filePath = "temp-file-to-upload" // Local file path
    cos.putObject({
     Bucket: 'examplebucket-1250000000',
     Region: 'COS_REGION',
     Key: 'exampleobject',
     Body: fs.createReadStream(filePath), // Uploaded file object
     onProgress: function(progressData) {
         console.log(JSON.stringify(progressData));
     },
     Headers: {
      // Use the `imageMogr2` API to scale the image (by specifying the width of the output image to 200, with the height scaled proportionally).
      'Pic-Operations': '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}'
    },
    }, function(err, data) {
     console.log(err || data);
    });
    

    Processing In-Cloud Image

    The following example shows how to process an image stored in COS and save the processing result to COS.

    Sample code

    cos.request({
      Bucket: config.Bucket,
      Region: config.Region,
      Key: 'exampleobject',
      Method: 'POST',
      Action: 'image_process',
      Headers: {
      // Use the `imageMogr2` API to scale the image (by specifying the width of the output image to 200, with the height scaled proportionally).
        'Pic-Operations': '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}'
      },
    }, function (err, data) {
     console.log(err || data);
    });
    

    Processing Image During Download

    The following example shows how to process an image during download.

    Sample code

    cos.getObject({
      Bucket: 'examplebucket-1250000000',
      Region: 'COS_REGION',
      Key: 'exampleobject',
      QueryString: `imageMogr2/thumbnail/200x/`,
    }, function (err, data) {
     console.log(err || data);
     fs.writeFileSync('filepath', data.Body);  // Save the image locally
    });
    

    Generating Signed URL with Image Processing Parameters

    Sample code

    // Generate a signed URL (valid for 30 minutes) with image processing parameters.
    var url1 = cos.getObjectUrl({
      Bucket: 'examplebucket-1250000000',
      Region: 'COS_REGION',
      Key: 'exampleobject',
      Query: {
        `imageMogr2/thumbnail/200x/`: ''
      },
      Expires: 1800,
      Sign: true,
    }, function (err, data) {
      if(data){
          console.log(data.Url);
      }
    });
    // Generate an unsigned URL with image processing parameters.
    var url2 = cos.getObjectUrl({
      Bucket: 'examplebucket-1250000000',
      Region: 'COS_REGION',
      Key: 'exampleobject',
      Query: {
        `imageMogr2/thumbnail/200x/`: ''
      },
      Sign: false,
    }, function (err, data) {
      if(data){
          console.log(data.Url);
      }
    });
    
    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