本文介绍图片处理服务中涉及的基本概念、使用限制以及使用示例。
对象(Object)
在IMG中,用户操作图片的基本数据单元是Object,也称为对象或文件。单个Object(每张图片)允许的大小最大不超过20 MB。
对象的命名规范如下:
使用UTF-8编码。
长度必须在1~1023字符之间。
不能以正斜线(/)或者反斜线(\)开头。
频道(Channel)
Channel是IMG上的命名空间。IMG名称在整个图片处理服务中具有全局唯一性,且不能修改。每个用户最多可创建10个Channel,但每个Channel中存放的object的数量没有限制。目前Channel跟OSS的Bucket相对应,即用户只能创建与自己在OSS上Bucket同名的Channel。
Channel命名规范如下:
只能包括小写字母、数字和短划线(-)。
必须以小写字母或者数字开头和结尾。
长度必须在3~63字节之间。
样式(Style)
图片处理服务支持您将图片的处理操作和参数保存为一个别名,即样式。您可以在一个样式中包含多个图片处理参数,快速实现复杂的图片处理操作。
单个Channel最多允许包含50个样式。
样式适用于Channel下Object的图片变化操作。假设在Channel A下存在名称为abc, 内容为100w.jpg(按宽缩略成100,保存成jpg格式)的样式,则Channel A下的所有Object都能使用样式abc,实现缩略成100w.jpg的效果。
样式的作用范围只在当前Channel下,即Channel A不能使用Channel B的样式。
样式命名规范如下:
长度为1~63个字符。
只能包含数字、大小写字母、下划线(_)、短划线(-)以及英文句点(.)。
处理字符串
图片服务定义了处理字符串的方式,包含转换参数、转换格式两部分:
转换参数由一个或多个键值对(以”_”连接)组成,“值”在前、“键”在后,“值”为数字类型,“键”为字符串类型。
转换格式是一种特殊的转换参数,用户指定转换格式,图片服务对原图处理并返回用户期望的图片文件格式。
支持转换的原图格式包括jpg、jpeg、webp、png、bmp。
分隔符
图片处理服务通过URL来访问处理的图片,通常需要分隔符来区分一些关键字段。
请勿在使用的图片文件名称中包含图片处理服务设定的分隔符,否则会导致解析出错。
分隔符名称 | 分隔符 | 含义 |
处理分隔符 | @ | 区分Object名称和处理字符串。 |
样式分隔符 | @! | 区分Object跟样式内容,详情请参见样式访问。 |
管道分隔符 | | | 区分多种操作,详情请参见管道。 |
数据中心及访问域名
图片服务的数据中心和OSS的数据中心相对应。用户在OSS的某个数据中心上创建一个Bucket,然后选择开通图片服务,对应的Channel也属于该数据中心。更多信息,请参见访问域名和数据中心。
使用限制
图片处理支持的格式包括jpg、png、bmp、gif、webp、tiff。
指定缩略图宽度或者高度时,在等比缩放的情况下,默认进行单边缩放。在固定宽高的模式下,默认在宽高相等的情况下进行缩放。
对缩略后的图片大小有限制,目标缩略图的宽与高的乘积不能超过4096 * 4096, 且单边的长度不能超过4096 * 4。
调用
resize
,默认不允许放大。如果请求图片比原图大,返回的仍然是原图。如果希望得到放大的图片,需要增加参数调用limit,0
。管道数量不支持超出4个。
使用示例
图片访问URL为http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100w_100h.jpg
,涉及的参数说明如下:
image-demo
:Channel名称。img-cn-hangzhou.aliyuncs.com
:访问图片的Endpoint。example.jpg
:待处理的原图名称,即Object。@
:处理分隔符。100w_100h.jpg
:处理字符串。100w_100h
:将原图进行处理的参数,即转换参数。.jpg
:将原图根据参数处理后保存的格式,即转换格式。