tencent cloud

Cloud Infinite

Basic Image Processing

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-03-01 14:25:48

Overview

This document provides an overview of APIs and SDK code samples for basic image processing.
Service
Feature
Description
Basic image processing
Proportional scaling, scaling image to target width and height
Regular cropping, cropping and scaling, inscribed circle cropping, intelligent face cropping
Adaptive rotation, regular rotation
Format conversion, GIF format optimization, progressive display
Quality change for JPG and WebP images
Image blurring
Image sharpening
Watermarking
Image information acquisition
Including EXIF information
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);
}
});

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백