功能概述
腾讯云数据万象通过 imageMogr2 接口提供图片索引切割的功能,可以将图片按指定的大小进行分割,并截取其中需要的一块。该功能支持以下处理方式:
下载时处理
上传时处理
云上数据处理
授权说明
下载时处理:授权策略中 action 设置为
cos:GetObject
。上传时处理:授权策略中 action 设置为
cos:PutObject
。云上数据处理:授权策略中 action 设置为
cos:GetObject
、cos:PutObject
(注意 GetObject 对应的 resource 为源文件,PutObject 对应的 resource 为转存的文件)。服务开通
使用该功能将默认为您开通数据万象,并绑定存储桶,无需角色授权,即可直接使用。
使用限制
费用说明
该接口为付费服务,将产生图片基础处理费用,由数据万象收取,详细计费说明可参见 图片处理费用。
如果采用下载时处理的方式,且通过外网进行下载,调用会产生 万象流量费用。
接口示例
1. 下载时处理
GET /<ObjectKey>?imageMogr2/indexcrop/width/<width>/height/<height>/index/<index> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>
说明:
请忽略上面的空格与换行符。
2. 上传时处理
PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations:{"is_pic_info": 1,"rules": [{"fileid": "exampleobject","rule": "imageMogr2/indexcrop/width/<width>/height/<height>/index/<index>"}]}
3. 云上数据处理
POST /<ObjectKey>?image_process HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-length: SizeAuthorization: Auth StringPic-Operations:{"is_pic_info": 1,"rules": [{"fileid": "exampleobject","rule": "imageMogr2/indexcrop/width/<width>/height/<height>/index/<index>"}]}
说明:
Authorization: 携带鉴权信息,用于验证请求的合法性的请求头,Pic-Operations头部需签入签名信息中,详情请参见 请求签名 文档。
Pic-Operations 为 json 格式的字符串,具体参数信息可参考 图片持久化处理。
当
fileid
与 ObjectKey
相同时,处理后的图片将覆盖原图存储;不相同时将分别存储原图和处理后图片。fileid
的值需要经过 URL 安全的 Base64 编码。处理参数说明
参数 | 含义 | 是否必填 |
ObjectKey | 对象文件名,例如 folder/sample.jpg。 | 是 |
/ignore-error/1 | 当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错。 | 否 |
indexcrop/width/<width> | 指定在水平方向切割出的每块区域的长度,值为像素,取值范围:大于0且不超过图片宽度的正整数。 注:<width>参数与<height>参数只能任选其一。 | 是 |
indexcrop/height/<height> | 指定在竖直方向切割出的每块区域的长度,值为像素,取值范围:大于0且不超过图片宽度的正整数。 注:<width>参数与<height>参数只能任选其一。 | 是 |
indexcrop/index/<index> | 被切割后的图片区域索引值,默认值为0,表示取第一块。 | 否 |
说明:
如果指定的索引值大于切割后形成的区域数量,将返回原图。
如果<width>和<height>同时存在且值有效时,以<height>参数的值为准。
实际案例
说明:
案例一:按水平方向进行索引切割
示例的原图链接如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg
将以上原图按水平方向,按100像素进行分割,并取第一块分割的区域,图片处理后的链接如下:
https://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/indexcrop/width/100/index/0
分割后获取到的图片如下:
案例二:同时按水平和竖直方向切割出一个方形区域
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/indexcrop/width/100/|imageMogr2/indexcrop/height/100/index/1/
分割后获取到的图片如下:
案例三:按水平方向进行索引切割并携带私有文件签名
处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接,示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&imageMogr2/indexcrop/width/100/index/0
说明: