图片处理服务API

介绍

基本概念

图片URL构成规则

关键词说明

图片处理接口

图片缩放

图片裁剪

图片旋转

图片自适应方向

质量变换

格式转换

渐进显示

图片信息

 水印

图片水印

文字水印

图文混合水印

拼图

管道

样式

图片处理服务状态码

介绍

美团云图片处理服务是美团云对外提供的海量、安全、低成本高效的图片处理服务。用户将原始图片上传并保存在美图云对象存储上,可通过调用相关接口实现对图片的处理操作。图片处理服务会根据用户请求,实时地将用户的原图转换成按需求处理后的目标图片并发送给用户。美团云的图片服务支持控制台样式配置以及动态实时图像处理,包括缩略、裁剪、水印、旋转、格式转换、拼图等功能。

图片处理服务功能

  • 图片缩放、裁剪
  • 图片旋转、自适应方向
  • 质量变换、格式转换
  • 水印(图片水印,文字水印、图文混合水印)
  • 拼图
  • 管道

图片处理服务与对象存储的关系

  • 图片处理服务仅能够对用户已上传到对象存储bucket上的object做图片处理
  • 图片处理服务和对象存储有同样的区域,不同的访问域名

注意

 

 

基本概念

Object

在MSS图片处理服务中,用户操作图片的对象是Object。注:每张图片(单个Object)允许的最大大小是20MB(私有云为128MB)。

命名规范:

1. 使用UTF-8编码

2. 长度必须在1-1023字节之间

3. 不能以“/”或者“\”字符开头

4. 不能包含图片处理服务设定的分隔符“@”、“@!”或者“|”

Bucket

Bucket是对象存储上的命名空间,也是计费、权限控制等多种高级功能的管理实体。Bucket具有全局唯一性,且不能修改。

命名规范:

1. 只能包括小写字母,数字和短横线(-)

2. 必须以小写字母或者数字开头

3. 长度必须在3-63字节之间

处理字符串

图片处理服务定义了处理字符串,包含两个部分转换参数、转换格式:

  • 转换参数由一个或多个键值对(以"_"连接)组成,“值”在前“键”在后,“值”为数字类型,“键”为一位字母。
  • 转换格式是一种特殊的转换参数,用户指定转换格式,图片服务对原图处理并返回用户期望的图片文件格式(支持格式有: jpg,jpeg,webp,png,bmp)。

管道

如果一个图片,需要多重处理,如先裁剪、后缩略等,则多组操作命令之间,需要以管道“|”连接,执行顺序按管道指定顺序从左至右执行。管道的分隔符是”|”。

分隔符

分隔符是指URL中用来区分一些关键字段的分隔符号。请不要在图片文件名中包含图片处理服务设定的分隔符,否则将导致解析错误。

分隔符名称
分隔符
说明
处理分隔符 @ 区分Object名称与处理字符串
样式分隔符 @! 区分Object与样式内容,具体请参见样式
管道分隔符 | 区分多种操作,具体请参见管道

访问域名

以http://examplebucket-495949.image./example.jpg@100w_100h.png为例

examplebucket-495949:用户Bucket的名字和用户编号

image.:图片访问域名(注:如果需要处理图片,请在原图域名内加image,表示通过图片处理服务器来进行图片处理相关操作)

例如华北1区的外网 endpoint 是 mtmss.com,华东1区的外网 endpoint 是 eastchina1.mtmss.com,下文的示例均以华北1区图片处理服务作为示例

example.jpg:待处理的原图的名字

@:处理分隔符

100w_100h.jpg:处理字符串

100w_100h:将原图进行处理的参数,即转换参数

.png:将原图根据参数处理后的保持的格式,即转换格式

规则与限制

  1. 保存的最终格式只支持jpg, png, bmp, webp (注意gif默认保存成jpg)。
  2. 文件的大小限制在20MB。
  3. 对缩略后的图片的大小有限制,目标缩略图的宽与高的乘积不能超过4096 * 4096, 而且单边的长度不能超过4096 * 4。
  4. 管道目前限制在4个。
  5. 如果获取的Object名称本身带有@符号时,其后字符全部按照处理命令对待,用户需要提前转义替换Object 名称中的@符号。

其他限制可以参考文档其他参数的详细描述。

 

图片URL构成规则

图片处理服务均使用标准的HTTP的GET请求来访问,所有的处理参数也是编码在URL中的。URL访问方式的规范定义如下。

  1. 直接显示原图
    • 三级域名访问的URL

      http://bucketname-userid.<endpoint>/object

      其中endpoint指的是用户图片服务的访问域名,关于访问域名请参考访问域名,object为用户所关联的Bucket上存储的原图片。

    • 自定义域名访问的URL

      http://userdomain/object

      其中userdomain为用户开通图片服务绑定的自定义域名,这个域名会关联到一个Bucket,这里假设用户自定义域名userdomain已经CNAME到bucket.endpoint这个三级域名上。 如何绑定图片服务的自定义域名可以参考图片处理服务。object为用户所关联Bucket上存储的原图片。

  2. 通过处理参数访问
    • 三级域名访问的URL

      http://bucket-userid./object@100w_100h_85Q.jpg

      其中endpoint指的是用户图片服务的访问域名,关于访问域名请参考访问域名,object为用户所关联的Bucket上存储的原图片。处理字符串分为3个部分:初始符、处理参数、处理格式,如下

          @为处理分割符;

          100w_100h_85Q为处理参数(含义为:将原图处理为一张宽(w)100px、高(h)100px、绝对质量(Q)85%的图片)

          .jpg为处理格式

    • 自定义域名访问的URL

       

      http://userdomain/object@100w_100h_85Q.jpg

       

关键词说明

长边与短边

“长边”或“短边”指在缩放中相对比例长或短的边。“长边”是指原尺寸与目标尺寸的比值大的那条边;“短边”同理。举例说明:如原图300 * 400,缩放为600 * 200,(300/600=0.5,400/200=2,0.5 < 2),所以在这个缩放中400那条是长边,300是短边。

顺序无关

处理参数中的键值是顺序无关的,系统会对参数按照本规范以下定义的顺序重新排序后再处理。例如,”100w_100h_2x”和”2x_100w_100h”都将得到同样的200*200的图片,即先缩放到100*100,再放大2倍。

覆盖处理

当处理参数中出现多个相同“键”时,系统默认以后面一个键值为准。例如,“100w_100h_200w”等同于“200w_100h”。

自适应方向

手机、相机等排出的照片有时会发生旋转,适应方向有jpeg exif信息中的rotate参数决定。

URL安全的Base64位编码

在图片处理服务里会有很多参数需要变成Base64位编码,参考RFC4648。注意这里的URL 安全Base64位编码只是用在水印操作某些特定参数(文字水印的文字内容,文字颜色,文字字体及图片水印的水印object)里,不要将其用来签名字符串(Signature)的内容。编码的格式如下:

  • 先将内容编码成Base64结果
  • 将结果中的加号”+”替换成中划线“-“
  • 将结果中的斜杠”/”替换成下划线”_”
  • 将结果中尾部的“=”号全部保留

 

图片处理接口

图片缩放

缩放参数表

参数名称

处理命令

取值范围

命令描述

width

w

1-4096

指定目标缩略图的宽度

height

h

1-4096

指定目标缩略图的高度

edge

e

0/1/2/4,默认值为0

缩略优先边。0代表长边优先;1代表短边优先;2代表强制缩略;4代表短边优先缩略后填充

larger

l

0/1,默认值为0

目标缩略图大于原图是否处理。0代表处理;1代表不处理

percentage

p

1-1000

倍数百分比。100为原图;大于100为放大;小于100为缩小

backgroundcolor

bgc

red, green, blue[0-255]

填充部分的背景色。默认不指定(白色填充)。例如:100-100-100bgc

 1. 单边固定缩略

例1 限定宽度100,高度自适应

http://examplebucket-495949.image.mtmss.com/example.jpg@100w

例 2 限定高度100,宽度自适应

http://examplebucket-495949.image.mtmss.com/example.jpg@100h

 

2. 固定宽高,指定优先边缩略

例 3 指定高度200,宽度100,长边优先缩略

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_0e

例 4 指定高度200,宽度100,短边优先缩略

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_1e

3. 固定宽高,强行缩略(图片可能会变形)

例 5 将原图强制变成高度200,宽度100

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_2e

4. 按百分比缩略(按照百分比缩放图片)

例 6 将原图缩小一倍

http://examplebucket-495949.image.mtmss.com/example.jpg@50p

5. 缩略后填充( 表示图片先按图按短边优先缩略,之后用指定颜色填充剩余区域)

例 7 指定宽高200x100,按短边优先缩略,多余部分用白色填充

http://examplebucket-495949.image.mtmss.com/example.jpg@200w_100h_4e

 

图片裁剪

缩放裁剪参数表

参数名称

处理命令

取值范围

命令描述

width

w

1-4096

指定目标缩略图的宽度

height

h

1-4096

指定目标缩略图的g高度

edge

e

0/1/2/4,默认值为0

缩略优先边。0代表长边优先;1代表短边优先;2代表强制缩略;4代表短边优先缩略后填充

larger

l

0/1,默认值为0

目标缩略图大于原图是否处理。0代表处理;1代表不处理

cut

c

0/1,默认值为0

是否对图片进行剪裁。0代表不剪裁;1代表剪裁

advanced-cut

a

1-4096

高级裁剪,通过制定起始横坐标和纵坐标及指定图片的高度宽度进行剪裁。参数的类型:x-y-width-height

region-cut

rc

1-9,无默认值

区域裁剪,通过指定对某一个区域进行裁剪。

参数形式为:x-rc.jpg 

pos为裁剪位置。9代表右下角。

1左上 2中上 3右上
4左中 5中部 6右中
7左下 8中下 9右下

如果高度或者宽度不填,或者参数是0,或者参数大于原图。默认是按原图的高度或宽度返回。

1.自动裁剪(表示图片先按短边缩略,之后从缩略的目标图片裁剪出中间部分得到对应指定高度和宽度的目标缩略图)

例 8 将原图自动裁剪成宽高200x100的缩略图

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_1e_1c

例 9 将原图自动裁剪成宽高200x100的缩略图后,裁剪出左半部分

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_1e_1c|0-0-200-100a

2. 高级裁剪(表示图片通过指定起始横坐标,纵坐标及裁剪的宽度和裁剪的高度对图进行高级裁剪)

例 10 裁剪图从起点(100, 100)到图的结束

http://examplebucket-495949.image.mtmss.com/example.jpg@100-100-0-0a

例 11 从(100, 100)处开始裁剪一张宽高100x100的图片

http://examplebucket-495949.image.mtmss.com/example.jpg@100-100-100-100a

例 12 裁剪原图左上区域宽度100高度200的区域

http://examplebucket-495949.image.mtmss.com/example.jpg@100x200-1rc

 

图片旋转

图片旋转参数表

参数名称

处理命令

取值范围

命令描述

rotate

r

0-360,默认值为0

对原图按顺时针旋转,0代表不旋转。旋转后的图可能会导致图的尺寸变大,空余部分用白色填充。

例 13 将原图按顺时针旋转10度

http://examplebucket-495949.image.mtmss.com/example.jpg@10r

例 14.将原图缩略成宽度为300,高度为300,按顺时针旋转90度

http://examplebucket-495949.image.mtmss.com/example.jpg@300w_300h_90r

 

图片自适应方向

图片自适应方向参数表

参数名称

处理命令

取值范围

命令描述

orient

o

0/1,默认值为1

对原图进行自动旋转。0代表不自动旋转并显示原图;1代表如果存在缩略参数,先进行自适应方向。注:如果图片携带处理参数,默认为先自适应方向后再进行图片处理操作。

例 15 自适应方向(部分手机拍摄出来的照片可能带有旋转参数(存放在照片exif信息里面))

注意事项:默认显示原图,但是加处理参数时默认在旋转后的图片上进行相关操作

http://examplebucket-495949.image.mtmss.com/example.jpg

 

质量变换

质量变换参数表

参数名称

处理命令

取值范围

命令描述

relative quality

q

1-100

指定目标图片的相对质量,仅对jpg/jpeg、png、

webp格式有效。表示对原图按照q%进行压缩。

absolute quality

Q

1-100

指定目标图片的绝对质量,仅对jpg/jpeg、png、

webp格式有效。当指定q命令的值大于原图quality的值时,则默认使用原图quality的值。

例 16 先指定宽高300x300,之后保存为相对原图质量的80的jpg图

http://examplebucket-495949.image.mtmss.com/example.jpg@300w_300h_80q

例 17 先指定宽高300x300,之后保存为绝对原图质量的80的jpg图

http://examplebucket-495949.image.mtmss.com/example.jpg@300w_300h_80Q

 

格式转换

格式转换参数表

处理命令

命令描述

jpg 将原图保存成jpg格式,如果原图是png,webp, bmp存在透明通道,默认会把透明填充成黑色。如果想把透明填充成白色可以指定1wh参数
png 将原图保存成png格式
webp 将原图保存成webp格式
bmp 将原图保存成bmp格式
src 按原图格式返回,如果原图是gif,此时返回gif格式第一帧,保存成jpg格式,而非gif格式

注:如果原图是png,webp,bmp存在透明通道,在保存成jpg格式时,默认会把透明填充成黑色。也可以通过指定1wh参数用白色填充透明部分。JPEG格式图片可以指定参数1pr,详见渐进显示

例 18 将jpg图片保存成png图片 

http://examplebucket-495949.image.mtmss.com/example.jpg@.png

 

例 19 将jpg图片保存成高度为100,宽度为100的png图片

http://examplebucket-495949.image.mtmss.com/example.jpg@100h_100w.png

 

渐进显示

渐进显示参数表

参数名称

处理命令

取值范围

命令描述

progressive-display

pr

0/1;默认值:0

对原图进行渐进显示,1代表保存成渐进显示的jpg格式
;0代表保存成普通的jpg格式

例 20 将图缩略成宽度100, 高度200,并且保存成渐进显示的jpg格式

http://examplebucket-495949.image.mtmss.com/example.jpg@100w_200h_1pr.jpg

图片信息

图片信息分为exif信息和基本信息。如数码相机拍摄的照片文件中包含exif信息,用于记录数码照片的属性和拍摄数据。美团云图片服务提供两种获取信息的方式:

  • @exif:获取exif信息
  • @infoexif:获取基本信息和exif信息

exif信息:

通过@exif来获取,返回的格式是Json格式,目前支持返回以下类型:

  • DateTime
  • GPSLatitude
  • GPSLatitudeRef
  • GPSLongitude
  • GPSLongitudeRef
  • Orientation
  • DateTimeOriginal
  • DateTimeDigitized
  • Make
  • Model

      注意:有些图片是没有exif信息的。当您请求的图片没有exif信息时,会返回400错误。错误码为:BadRequest,错误内容为:Image has no exif info.

包含exif信息的图片示例:

http://examplebucket-495949.image.mtmss.com/f.jpg@exif

返回:

{

  "DateTime": "2015:02:11 15:38:27",

  "DateTimeDigitized": "",  

  "DateTimeOriginal": "",  

  "GPSLatitude": "0/1, 0/1000, 0/1", 

  "GPSLatitudeRef": "N", 

  "GPSLongitude": "0/1, 0/1000, 0/1", 

  "GPSLongitudeRef": "E", 

   "Make": "",  

   "Model": "", 

   "Orientation": "7"

}

不包含exif信息的图片示例:

http://examplebucket-495949.image.mtmss.com/lena.jpg@exif

返回:Image has no exif info.

 

infoexif信息

infoexif信息是在exif信息的基础上增加了以下返回类型:

  • FileSize
  • ImageWidth
  • ImageHeight
  • Format

包含exif信息图片的infoexif请求示例:

http://examplebucket-495949.image.mtmss.com/f.jpg@infoexif

返回:

  "DateTime": "2015:02:11 15:38:27",

  "DateTimeDigitized": "",

  "DateTimeOriginal": "",

  "FileSize": "23471",

  "Format": "JPEG",

  "GPSLatitude": "0/1, 0/1000, 0/1", 

  "GPSLatitudeRef": "N",  

  "GPSLongitude": "0/1, 0/1000, 0/1", 

  "GPSLongitudeRef": "E",  

  "ImageHeight": "333", 

  "ImageWidth": "424", 

  "Make": "",

  "Model": "",

  "Orientation": "7"

}

不含exif信息图片的infoexif请求示例:

http://examplebucket-495949.image.mtmss.com/lena.jpg@infoexif

返回:

{  

  "FileSize": "68261",

  "Format": "JPEG", 

  "ImageHeight": "512",

  "ImageWidth": "512"

}

 

水印

水印参数表

参数名称

处理命令

取值范围

命令描述

watermark

watermark

1/2

水印类型,1代表图片水印;2代表文字水印

place

p

1-9,默认值为9

水印位置。9代表右下角

1左上 2中上 3右上
4左中 5中部 6右中
7左下 8中下 9右下

transparency

t

0-100,默认值为100

水印透明度,100代表完全不透明;0代表完全透明

x-coordinate

x

0-4096(px),默认值为10

横轴边距,距离图片边缘的水平距离

y-coordinate

y

0-4096(px),默认值为10

纵轴边距,距离图片边缘的水平距离

 

text

text

文字水印必选参数,最大长度为64个字符(即支持汉字最多20个左右)

水印文字内容(经过URL安全的Base64编码)

type

type

文泉驿正黑/文泉微米黑,默认值为文泉驿正黑

水印文字字体

文泉驿正黑wqy-zenhei ( 编码后的值:d3F5LXplbmhlaQ);

文泉微米黑wqy-microhei( 编码后的值:d3F5LW1pY3JvaGVp)

color

color

#red, green, blue[0-255]

默认值为#000000黑色,编码后值为IzAwMDAwMA

注:需采用Base64编码

水印文字颜色

size

size

1-1000(px),默认值为40

水印文字大小

voffset voffset

-1000 - 1000(px),默认值为0

中线垂直偏移
order order 0/1, 默认值为0 文字,图片水印前后顺序,0代表图片在前;1代表文字在前
align align 0/1/2,默认值为0 文字、图片对齐方式,0代表上对齐; 1代表中对齐; 2代表下对齐
interval interval 0-1000 文字和图片间的间距
Percentage P 1-100 水印图片按主图的比例进行处理(仅限于水印图片)

1. 图片水印

访问类型:

@watermark=1&object=<encodedobject>&t=<transparency>&x=<distanceX>&y=<distanceY>&p=<position>

其中watermark与object两个参数为必填项。 文中出现的url_safe_base64_encode指的是URL安全base64编码,请参见关键词

例 21 将美团云logo图片作为水印打在图片上,其透明度是70,相对位置为右中部,水平边距是20px

http://examplebucket-495949.image.mtmss.com/example.jpg@watermark=1&object=bG9nby5wbmc=&t=90&p=6&x=40

水印图片预处理:

用户在打水印时,可以对水印图片进行预处理,支持的预处理操作有:图片缩放,图片裁剪(不支持内切圆),图片旋转(具体内容请直接查看文档相关章节),但不支持管道操作。

实例说明:如果水印操作为:watermark=1&object=bG9nby5wbmdANTBQ&t=90&p=9&x=10&y=10 (p=9&x=10&y=10,为右下角打水印,默认边距;bG9nby5wbmdANTBQ,表示水印图片为logo.png按原图比例为50%)

参数中的object使用规则是:

1 图片水印原图名字(未经过URL安全base64编码的名字) + @ + Action

2 对第一步的字符串进行URL安全base64编码


如果要指定对水印图片进行预处理,处理参数带在水印object之后,以@符号连接。如:

  • 对logo.png 不进行任何预处理: object = url_safe_base64_encode("logo.png")
  • 对logo.png 进行放大2倍: object = url_safe_base64_encode("logo.png@200p")
  • 对logo.png 进行缩小一倍,亮度调节成50, 对比度调节成40: object = url_safe_base64_encode("logo.png@50p_50b_40d")
  • 对logo.png 增加按宽度50缩略,亮度调节成30: object = url_safe_base64_encode("logo.png@50w_30b")
  • 对logo.png 增加按高度20缩略,对比度调节成10: object = url_safe_base64_encode("logo.png@20h_10d")
  • 对logo.png 水印图的大小基于原图的20%进行处理,对比度调节成10: object = url_safe_base64_encode("logo.png@20P_10d")

例 22 将指定图片宽度为400后,再打上述水印

http://examplebucket-495949.image.mtmss.com/example.jpg@400w%7Cwatermark=1&object=bG9nby5wbmdANTBQ&t=90&p=9&x=10&y=10

2. 文字水印

访问类型

@watermark=2&text=<encodeText>&type=<encodeType>&size=<size>&color=<encodecolor>&t=<t>&p=<p>&x=<x>&voffset=<offset>&y=<y>

其中watermark与object两个参数为必填项。 文中出现的url_safe_base64_encode指的是URL安全base64编码,请参见关键词

例 23 字体是文泉驿正黑,字体大小是50,颜色是白色(#FFFFFF),透明度90%,水印位置是:右中,水平边距是:10, 中线垂直偏移是:20,文字水印内容是:Hello, 美团云!

http://examplebucket-495949.image.mtmss.com/example.jpg@watermark=2&type=d3F5LXplbmhlaQ&size=40&text=SGVsbG8g5Zu-54mH5pyN5YqhIQ&color=I0ZGRkZGRg&t=90&p=6&x=10&voffset=20


3.图文混合水印

访问类型

@watermark=3&object=<encodeObject>&text=<encodeText>&type=<encodeType>&size=<size>&color=<encodecolor>&order=<order>&align=<align>&interval=<interval>&t=<t>&p=<p>&x=<x>&y=<y>

其中watermark与object两个参数为必填项。 文中出现的url_safe_base64_encode指的是URL安全base64编码,请参见关键词

例 24 文图混合水印,文字内容是:Hello, 美团云! , 位置在右下角,图片object 是logo.png。水平边距和垂直边距都是10,水印透明是:90,排版方式是图片前,对齐方式是中对齐,间距是10

http://examplebucket-495949.image.mtmss.com/example.jpg@watermark=3&object=bG9nby5wbmc=&type=d3F5LXplbmhlaQ&size=40&text=SGVsbG8s576O5Zui5LqR77yB&color=I0ZGRkZGRg&order=0&align=1&interval=10&t=90&p=9&x=10&y=10

拼图

拼图为用户提供方便快捷的图片拼接服务。

拼图参数表

参数名称

处理命令

取值范围

命令描述

montage

montage

mxn;

m:1-40;
n:1-40

将m行n列个图片拼成一张图片

 

拼图规则 

  • object图片可以携带图片处理参数,如缩略,裁剪等,但处理后必须采用url安全的base64编码
  • 除了最后一行,每行的图片个数相等,每行图片的宽度之和需相等
  • 每行中的n个图片的高度需一致,不同行之间可不一致
  • 图片的排列顺序为从左至右,从上到下依次排列
  • 最后一行的剩余部分会用白底填充

 

例 25 将6张example.jpg缩放为100w_100h后,按2行3列拼成一张图片(example.jpg@100w_100h经base64编码后为:ZXhhbXBsZS5qcGdAMTAwd18xMDBo)

http://examplebucket-495949.image.mtmss.com/@montage=2x3&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo 

例 26 将4张example.jpg缩放为100w_100h后按2行3列拼成一张图片,并通过管道功能将该图片设置宽高为200w_100h(example.jpg@100w_100h经base64编码后为:ZXhhbXBsZS5qcGdAMTAwd18xMDBo)

http://examplebucket-495949.image.mtmss.com/@montage=2x3&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo&object=ZXhhbXBsZS5qcGdAMTAwd18xMDBo|200w_100h"

例 27 将6张example图片进行高级裁剪后拼成一张3x2的图片,其中第一张图片从(0,0)裁剪一张200w_100h的图片,第二张图片从(0,0)裁剪一张500w_100h的图片,第三张图片从(0,0)裁剪一张100w_200h的图片,第四张图片从(0,0)裁剪一张200w_100h的图片,第五张图片从(0,0)裁剪一张200w_100h的图片,第六张图片从(0,0)裁剪一张100w_100h的图片(example.jpg@0-0-200-100a编码后为ZXhhbXBsZS5qcGdAMC0wLTIwMC0xMDBh;example.jpg@0-0-400-100a编码后为ZXhhbXBsZS5qcGdAMC0wLTQwMC0xMDBh;example.jpg@0-0-500-200a编码后为ZXhhbXBsZS5qcGdAMC0wLTUwMC0yMDBh;example.jpg@0-0-100-200a编码后为ZXhhbXBsZS5qcGdAMC0wLTEwMC0yMDBh;example.jpg@0-0-200-100a编码后为ZXhhbXBsZS5qcGdAMC0wLTIwMC0xMDBh;example.jpg@0-0-100-100a编码后为ZXhhbXBsZS5qcGdAMC0wLTEwMC0xMDBh

http://examplebucket-495949.image.mtmss.com/@montage=3x2&object=ZXhhbXBsZS5qcGdAMC0wLTIwMC0xMDBh&object=ZXhhbXBsZS5qcGdAMC0wLTQwMC0xMDBh&object=ZXhhbXBsZS5qcGdAMC0wLTUwMC0yMDBh&object=ZXhhbXBsZS5qcGdAMC0wLTEwMC0yMDBh&object=ZXhhbXBsZS5qcGdAMC0wLTIwMC0xMDBh&object=ZXhhbXBsZS5qcGdAMC0wLTEwMC0xMDBh

 

管道

 管道是一种可以实现多种处理任务按顺序依次执行的机制。用户可以通过管道在一次访问中按照顺序完成对图像的不同处理。

管道的处理命令格式如下: 

<文件URL>@| 执行顺序按管道指定顺序从左至右执行。注:当前最多支持四级管道。

例 28  将原图自动裁剪成200w_100h后,再放大1.5倍

http://examplebucket-495949.image.mtmss.com/example.jpg@200h_100w_1e_1c|150p

样式

因为所有对图片的变换都会加在URL后面,导致URL变得冗长,不方便阅读和管理。图片处理服务支持将常用的图片操作保存为一个别名,即样式(style)。一个复杂的图片操作,使用样式就能达到简洁访问的效果。一个样式属于某个桶。当在某个桶上面创建样式后,桶下面的所有图片都可以使用这个样式来访问。

样式访问规则:

<文件URL>@!StyleName

注意:

  • 样式的创建、删除和修改都在前端控制台实现。
  • 当访问的样式在指定的桶(Bucket)不存在时,将返回:style [StyleName] not found。

示例:

样式名
样式内容
msslogo

watermark=1&object=bG9nby5wbmc=&t=90&p=7&x=40

直接方法:http://examplebucket-495949.image.mtmss.com/example.jpg@watermark=1&object=bG9nby5wbmc=&t=90&p=7&x=40

通过样式访问: http://examplebucket-495949.image.mtmss.com/example.jpg@!msslogo

图片处理服务状态码

HTTP 状态码
错误码
返回字段
描述
200 - - 操作执行成功
400 BadRequest

unsupported param [prp]

invalid value [5] of pr

参数不支持

参数值错误

401 Unauthorized This server could not verify that you are authorized to
access the document you requested.
桶不存在
404 Not Found

Not Found The resource could not be found.

style [stylename] not found

对象不存在

样式不存在

405 StatusMethodNotAllowed - 方法不允许
500 StatusInternalServerError - 内部错误