简介
本文档提供关于数据万象图像智能裁剪的 API 概览以及 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要使用 v1.1.1及以上版本。
待处理的图片,原图大小不超过5MB。
API | 说明 |
腾讯云数据万象通过 AIImageCrop 接口对图像进行智能裁剪 |
上传时处理
下面示例展示了如何在上传图片时自动实现图像智能裁剪。
图片上传完成后,COS 会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。
示例代码
<view><button type="primary" bindtap="button">上传</button></view>
Page({button: function () {wx.chooseMessageFile({count: 10,type: 'all',success: function (res) {var file = res.tempFiles[0];wxfs.readFile({filePath: file.path,success: function (res) {// sdk 的引入及初始化 cos 请参考 https://cloud.tencent.com/document/product/436/31953cos.putObject({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket 所在地域,比如 ap-beijing,必填Key: file.name, // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填Body: res.data, // 上传文件对象,必填Headers: {// 通过 AIImageCrop 接口使用图像智能裁剪功能:指定图片剪区域的宽度1,高度2'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'ci-process=AIImageCrop&width=1&height=2' }]}),},},(err, data) => {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}},);},fail: (err) => console.error(err),});},fail: (err) => console.error(err),});},});
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Key | 对象文件名,例如:folder/document.jpg | String | 是 |
Body | 文件内容,一般传入选择的文件 file 对象 | File/Blob | 是 |
Pic-Operations | JsonString | 是 |
回调函数说明
function(err, data) { ... }
对云上数据进行图像智能裁剪
下面示例展示了如何对已存储在 COS 的图片进行图像智能裁剪操作,并将结果存入到 COS。
示例代码
<view><button type="primary" bindtap="button">对云上数据处理</button></view>
Page({button: function () {// sdk 的引入及初始化 cos 请参考 https://cloud.tencent.com/document/product/436/31953cos.request({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket 所在地域,比如 ap-beijing,必填Key: '1.png', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填Method: 'POST', // 固定值Action: 'image_process', // 固定值Headers: {// 通过 AIImageCrop 接口使用图像智能裁剪功能:指定图片剪区域的宽度1,高度2'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'ci-process=AIImageCrop&width=1&height=2' }]}),},},(err, data) => {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}},);},});
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Key | 对象文件名,例如:folder/document.jpg | String | 是 |
Method | 固定值:POST | String | 是 |
Action | 固定值:image_process | String | 是 |
Pic-Operations | JsonString | 是 |
回调函数说明
function(err, data) { ... }
下载时使用图像智能裁剪
下面示例展示了如何在下载图片时实现图像智能裁剪。
示例代码
<<view><button type="primary" bindtap="button">下载时处理</button></view>
Page({button: function () {// sdk 的引入及初始化 cos 请参考 https://cloud.tencent.com/document/product/436/31953cos.request({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket 所在地域,比如 ap-beijing,必填Method: 'GET', // 固定值Key: '1.png', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),与 detect-url二选一传递Query: {'ci-process': 'AIImageCrop', // 固定值width: 5, // 必需,需要裁剪区域的宽度height: 5, // 必需,需要裁剪区域的高度//fixed:1, // 非必需,是否严格按照 width 和 height 的值进行输出//detect-url: '' // 非必须,可以通过填写 detect-url处理任意公网可访问的图片链接。不填写 detect-url时,后台会默认处理 Key ,填写了 detect-url 时,后台会处理 detect-url 链接,detect-url 需要进行 UrlEncode */},},(err, data) => {console.log(err || data);},);},});
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Method | 固定值:GET | String | 是 |
Key | 对象文件名,例如:folder/document.jpg | String | 否 |
Query | 其他请求参数 | Container | 是 |
Query 参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
ci-process | 数据万象处理能力,智能裁剪固定为 AIImageCrop | String | 是 |
width | 需要裁剪区域的宽度,与 height 共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值 | Integer | 是 |
height | 需要裁剪区域的高度,与 width 共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height 建议取值在[1, 2.5]之间,超过这个范围可能会影响效果 | Integer | 是 |
fixed | 是否严格按照 width 和 height 的值进行输出。 取值为0时,宽高比例(width : height)会简化为最简分数,即如果 width 输入10、height 输入20,会简化为1:2 取值为1时,输出图片的宽度等于 width,高度等于 height 默认值为0 | Integer | 否 |
detect-url | 处理任意公网可访问的图片链接。不填写 detect-url 时,后台会默认处理 Key ,填写了 detect-url 时,后台会处理 detect-url 链接 detect-url 示例: http://www.example.com/abc.jpg | String | 否 |
回调函数说明
function(err, data) { ... }
相关链接
API 文档
功能指南