使用规则
概述
图像处理 V1.0 为 BOS 旧版图像处理协议,当前 BOS 新增的功能如自适应格式,图像高级压缩等仅支持通过 V2.0 协议使用。
规则和限制
- 支持的原图格式:jpg、png、bmp、webp、gif、tiff。
- 支持的目标图格式:jpg、png、bmp、webp。
- 支持图片大小为100MB,且图片长和宽不大于4096 px。
- 一个 Bucket 绑定的域名数(包括图片域名)不能超过 200 个,其中图片域名不超过1个。
- 对于同一个域名,只支持一种绑定方式,在普通域名绑定或图片域名绑定中选择一种,不支持两种方式同时绑定。
- 对于同一组处理命令的参数处理采用无序原则,如
@w_250,h_380,q_90
等同于@h_380,w_250,q_90
。 - 如果获取的Object名称本身带有@符号时,其后字符全部按照处理命令对待,用户需要提前替换Object 名称中的@符号。
- 最大支持4个管道。
- Authorization 的签名计算与普通Object处理方式类似,但必须将带参数的图片名称作为一个完整的 URL Path 用于签名。如带水印的图片签名计算的 URL 应该为
http://test.gz.bcebos.com/IMG_5974.JPG@!shuiyin1?authorization=...
图像访问规则
您可以通三种方式对图像进行访问。BOS 支持直接访问和显示原图,也可以通过命令访问图像,还可以通过创建样式来进行访问。
直接访问和显示原图
直接显示原图与普通的域名绑定访问方式一样,URL形式为:http://${userdomain}/${objectkey}
userdomain
为用户绑定的域名。objectkey
为存储在BOS上的原图片名称。
样例:http://www.myhost.com/pic.jpg
通过命令访问
URL 形式为:http://${userdomain}/${objectkey}@${commands}
userdomain
为用户绑定的域名。objectkey
为存储在BOS上的原图片名称。commands
为处理命令。
样例:http://bucket-A.bj.bcebos.com/sample.jpg@w_200,q_80
分隔符
图像处理 V1.0 协议包括如下分隔符:
分隔符名称 | 分隔符 | 两侧顺序 | 说明 |
---|---|---|---|
处理分隔符 | @ | 固定顺序 | Object与处理命令之间的分隔符 |
参数分隔符 | _ | 固定顺序 | 参数缩略命令与参数值之间的分隔符 |
命令分隔符 | , | 无关 | 多项处理参数项之间的分隔符 |
管道分隔符 | | | 有关 | 两组处理命令之间分隔符,管道的参见下述“管道” |
管道
如果一个图片,需要多重处理,如先裁剪、后缩略等,则多组操作命令之间,需要以管道“|”连接,执行顺序按管道指定顺序从左至右执行。
如下示例为一个管道,执行顺序为从左到右,左侧命令处理结果将会作为右侧命令的输入。
http://${userdomain}/${objectkey}@${cropcommands}|${scalecommands}
命令示例:
(1)如对图片先裁剪,再缩放。先以左上角横坐标为10,纵坐标为20进行裁剪,裁剪宽度指定为600,高度为300,再按宽200,高200进行拉伸缩放,并指定目标图片的绝对质量为60,目标图片格式为png。
https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@c_1,x_10,y_20,w_600,h_300|s_1,w_200,h_200,q_60,f_png
(2)如对图片先缩放、旋转,再裁剪。先按宽200的比例等比缩放并顺时针旋转90度,再以左上角横坐标为50,纵坐标为100为起点进行裁剪,裁剪宽度和高度默认为图片宽度和高度。
https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@w_200,a_30|c_1,x_50,y_100>
(3)如进行图文混合水印:水印图片为bce-documentation/BOS/bce.jpg,位于原图左下角,距离锚点水平距离为,15,垂直距离为20,透明度为50;文字内容为“hello world”,位于正上方,垂直距离为100,字体颜色为淡紫色。
https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_1,k_YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=,g_7,x_15,y_20,o_50|wm_2,t_aGVsbG8gd29ybGQ=,g_2,y_100,fc_aa88aa
-
图文混合水印:水印图片为bce-documentation/BOS/bce.jpg,位于原图左下角,距离锚点水平距离为,15,垂直距离为20,透明度为50;文字内容为“hello world”,位于正上方,垂直距离为100,字体颜色为淡紫色。
通过样式访问
在对图片进行多重处理时,图片访问的 URL 会变得复杂冗长,非常不利于管理和阅读。为了让图片 URL 变得更简洁优雅,或是您想达到隐藏处理参数、保护原图的目的时,您可以使用图片样式功能。
图片样式是指您可以将一些常用的图片处理操作保存为一个别名,即一个样式。这样,一组复杂的操作,利用样式,可以通过一个简洁的URL访问即可达到相同效果。
图像处理 V1.0 的样式形式为:
http://${userdomain}/${objectkey}@!${stylename}
其中:
- userdomain:为用户绑定的域名。
- objectkey:为存储在BOS上的原图片名称。
- stylename:为样式名称
如您创建了一个名称为 mystylename 的样式,您可以以如下方式进行访问:
http://bucket-A.bj.bcebos.com/sample.jpg@!mystylename
添加和删除样式
添加样式
您可以通过控制台进行图片样式的定义,同时还可以在定义的同时实时进行效果预览。
- 登录BOS控制台,进入您已开通图片服务的Bucket。点击左侧导航“图片服务”后,点击右侧页面中的“样式管理”。
-
点击“添加样式”,进入添加样式表单页面。您可根据需要,设定该样式的图片处理参数,同时您可在右侧的预览区域实时进行效果预览。
图片样式的设置方式支持“基础设置”和“高级设置”两种。
- 基础设置,您需要在页面上对下方的每一项处理参数进行手动设定。
- 高级设置,您可直接在框中直接输入图片处理命令参数。
创建好样式后,点击“保存”。
缩放说明
-
限定宽度,高度等比例。
您需要输入宽度,缩略时以宽度为基准,将高度等比例缩小。若输入宽度大于原图宽度,则返回原图。
例如:原图宽高尺寸为400 × 320,限定宽度200,高度等比例,生成缩略图尺寸为200×160;限定宽度500,高度等比例,生成缩略图尺寸为400×320。
-
限定高度,宽度等比例。
您需要输入高度,缩略时以高度为基准,将宽度等比例缩小。若输入高度大于原图高度,则返回原图。
例如:原图宽高尺寸为400 × 320,限定高度160,宽度等比例,生成缩略图尺寸为200×160;限定高度500,宽度等比例,生成缩略图尺寸为400×320。
-
限定宽度和高度。
您需要输入宽度和高度,图片会保持原图比例进行缩略,直至宽、高都满足设定值,不裁剪。
例如:原图宽高尺寸为400 × 320,限定宽度为100,高度为100,生成缩略图尺寸为100 × 80;限定宽度为500,高度为500,生成缩略图尺寸为400×320。
-
固定宽度和高度。
您需要输入宽度和高度,图片会保持原图比例先进行缩略,超出设定宽、高部分进行居中裁剪。
例如:原图宽高尺寸为400 × 320 ,固定宽度100和高度100(缩小较大图片,并裁剪图片),生成缩略图尺寸为100×100;固定宽度500和高度500(放大较小图片,并裁剪图片),生成缩略图尺寸为500×500。
-
保存样式后,在列表中可以看到您已经添加的样式信息。您可以点击“查看命令”,查看样式对应的参数命令。
删除样式
在样式管理列表中,点击“操作”列的“删除”,可删除样式。