W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
圖像處理提供多種圖像處理功能,包含智能裁剪、無損壓縮、水印、格式轉(zhuǎn)換等,您可通過擴(kuò)展 SDK 輕松管理文件。
對于有大量用戶圖片上傳的應(yīng)用,圖片處理擴(kuò)展可以為用戶提供便捷的裁剪、壓縮、水印等服務(wù)來適配各個業(yè)務(wù)場景。
類型 | 介紹 |
---|---|
縮放 | 等比縮放、設(shè)定目標(biāo)寬高縮放等多種方式 |
裁剪 | 普通裁剪、縮放裁剪、內(nèi)切圓、人臉智能裁剪 |
旋轉(zhuǎn) | 普通旋轉(zhuǎn)、自適應(yīng)旋轉(zhuǎn) |
格式轉(zhuǎn)換 | jpg、bmp、gif、png、webp、jpeg格式轉(zhuǎn)換,gif 格式優(yōu)化,漸進(jìn)顯示功能 |
質(zhì)量變換 | 針對 JPG 和 WEBP 圖片進(jìn)行質(zhì)量變換 |
高斯模糊 | 對圖片進(jìn)行模糊處理 |
銳化 | 對圖片進(jìn)行銳化處理 |
圖片水印 | 提供圖片水印處理功能 |
文字水印 | 提供實時文字水印處理功能 |
獲取圖片基本信息 | 查詢圖片基本信息,包括格式、長、寬等 |
獲取圖片 EXIF | 查詢圖片 EXIF 信息,如照片的拍攝參數(shù)、縮略圖等 |
獲取圖片主色調(diào) | 獲取圖片主色調(diào)信息 |
去除元信息 | 去除圖片元信息,減小圖像體積 |
快速縮略模板 | 快速實現(xiàn)圖片格式轉(zhuǎn)換、縮略、剪裁等功能,生成縮略圖 |
管道操作符 | 對圖片按順序進(jìn)行多種處理 |
如果您的圖像已經(jīng)上傳到云存儲中,可通過在 url 后添加參數(shù)的方式,對圖像進(jìn)行處理,自動獲取處理后的結(jié)果。假設(shè)縮放圖片寬高為原圖50%,示例如下:
https://${您的云開發(fā)文件訪問域名,格式如:xxx.tcb.qcloud.la}/sample.jpeg?imageMogr2/thumbnail/!50p
npm install --save @cloudbase/extension-ci@latest
const extCI = require('@cloudbase/extension-ci');
// 初始化環(huán)境 qq.cloud.init({ env:"test-x1dzi" })
// 注冊云開發(fā)擴(kuò)展 qq.cloud.registerExtension(extCI);
云函數(shù)中
const cloud = require('qq-server-sdk');
const extCI = require('@cloudbase/extension-ci');
// 初始化環(huán)境
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 注冊云開發(fā)擴(kuò)展
cloud.registerExtension(extCI);
Cloud.invokeExtension(extensionName: String, options: Object): Promise
參數(shù) | 類型 | 是否必須 | 說明 |
---|---|---|---|
extensionName | String | 是 | 擴(kuò)展名,傳CloudInfinite |
options | Object | 是 | 擴(kuò)展參數(shù),說明見下方 |
名稱 | 類型 | 是否必須 | 說明 |
---|---|---|---|
action | String | 是 | 操作類型,傳:ImageProcess |
cloudPath | String | 是 | 文件的絕對路徑,與cloud.uploadFile中一致 |
fileContent | ArrayBuffer或Buffer | 否 | 文件內(nèi)容, 有值,表示上傳時處理圖像;為空,則處理已經(jīng)上傳的圖像 |
operations | Object | 否 | 圖像處理參數(shù) |
名稱 | 類型 | 是否必須 | 說明 |
---|---|---|---|
rules | Array.<Rule對象> | 是 | 處理樣式 |
名稱 | 類型 | 是否必須 | 說明 |
---|---|---|---|
fileid | String | 是 | 處理結(jié)果的文件路徑,如以’/’開頭,則存入指定文件夾中,否則,存入原圖文件存儲的同目錄 |
rule | String | 是 | 處理樣式參數(shù),與下載時處理圖像在url拼接的參數(shù)一致 |
參數(shù)名稱 | 類型 | 描述 |
---|---|---|
UploadResult | Object | 原圖信息 |
|參數(shù)名稱|類型|描述| |ProcessResults|Object|圖片處理結(jié)果|
節(jié)點名稱 | 類型 | 描述 |
---|---|---|
Object | Object | 每一個圖片處理結(jié)果 |
節(jié)點名稱 | 類型 | 描述 |
---|---|---|
Key | String | 文件名 |
Location | String | 圖片路徑 |
Format | String | 圖片格式 |
Width | Int | 圖片寬度 |
Height | Int | 圖片高度 |
Size | Int | 圖片大小 |
Quality | Int | 圖片質(zhì)量 |
在小程序中使用
const extCI = require('@cloudbase/extension-ci');
// 初始化環(huán)境
qq.cloud.init({
env:"test-x1dzi"
})
// 注冊云開發(fā)擴(kuò)展
qq.cloud.registerExtension(extCI);
// 用戶選擇圖片
qq.chooseImage({
success:res=>{
// 使用文件管理讀取文件內(nèi)容
const fsm = qq.getFileSystemManager();
const filePath = res.tempFilePaths[0];
const cloudPath = `demo.jpeg`;
fsm.readFile({
filePath:filePath,
success:res2=>{
const fileContent = res2.data; // 格式為ArrayBuffer
// 使用云開發(fā)擴(kuò)展能力轉(zhuǎn)換圖片格式
qq.cloud.invokeExtension("CloudInfinite", {
action: "ImageProcess",
cloudPath: cloudPath, // 存儲圖像的絕對路徑,與qq.cloud.uploadFile中一致
fileContent:fileContent, // 該字段可選,文件內(nèi)容:ArrayBuffer|Buffer。有值,表示上傳時處理圖像;為空,則處理已經(jīng)上傳的圖像
operations: {
rules: [
{
fileid: `/image_process/demo.png`,// 處理結(jié)果的文件路徑,如以’/’開頭,則存入指定文件夾中,否則,存入原圖文件存儲的同目錄
rule: "imageView2/format/png" // 處理樣式參數(shù),與下載時處理圖像在url拼接的參數(shù)一致
}
]
}
}).then(res=>{
console.log(res)
})
}
})
}
})
const cloud = require('qq-server-sdk');
const extCI = require('@cloudbase/extension-ci');
// 初始化環(huán)境
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 注冊云開發(fā)擴(kuò)展
cloud.registerExtension(extCI);
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
const cloudPath = event.cloudPath;
// 使用云開發(fā)擴(kuò)展能力生成水印
const res = await cloud.invokeExtension("CloudInfinite", {
action: "ImageProcess",
cloudPath: cloudPath, // 存儲圖像的絕對路徑,與cloud.uploadFile中一致
operations: {
rules: [
{
fileid: `/image_process/${cloudPath}`,// 處理結(jié)果的文件路徑,如以’/’開頭,則存入指定文件夾中,否則,存入原圖文件存儲的同目錄
// 處理樣式參數(shù),與下載時處理圖像在url拼接的參數(shù)一致
rule: "watermark/2/text/6IW-6K6v5LqRwrfkuIfosaHkvJjlm74/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45"
}
]
}
})
return {
res
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: