对象存储BOS

    使用规则

    概述

    图像处理 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

    通过样式访问

    在对图片进行多重处理时,图片访问的 URL 会变得复杂冗长,非常不利于管理和阅读。为了让图片 URL 变得更简洁优雅,或是您想达到隐藏处理参数、保护原图的目的时,您可以使用图片样式功能。

    图片样式是指您可以将一些常用的图片处理操作保存为一个别名,即一个样式。这样,一组复杂的操作,利用样式,可以通过一个简洁的URL访问即可达到相同效果。

    图像处理 V1.0 的样式形式为:

    http://${userdomain}/${objectkey}@!${stylename}

    其中:

    • userdomain:为用户绑定的域名。
    • objectkey:为存储在BOS上的原图片名称。
    • stylename:为样式名称

    如您创建了一个名称为 mystylename 的样式,您可以以如下方式进行访问:

    http://bucket-A.bj.bcebos.com/sample.jpg@!mystylename

    添加和删除样式


    添加样式

    您可以通过控制台进行图片样式的定义,同时还可以在定义的同时实时进行效果预览。

    1. 登录BOS控制台,进入您已开通图片服务的Bucket。点击左侧导航“图片服务”后,点击右侧页面中的“样式管理”。
    2. 点击“添加样式”,进入添加样式表单页面。您可根据需要,设定该样式的图片处理参数,同时您可在右侧的预览区域实时进行效果预览。

      图片样式的设置方式支持“基础设置”和“高级设置”两种。

      • 基础设置,您需要在页面上对下方的每一项处理参数进行手动设定。
      • 高级设置,您可直接在框中直接输入图片处理命令参数。

      创建好样式后,点击“保存”。

      缩放说明

      • 限定宽度,高度等比例。

        您需要输入宽度,缩略时以宽度为基准,将高度等比例缩小。若输入宽度大于原图宽度,则返回原图。

        例如:原图宽高尺寸为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。

    3. 保存样式后,在列表中可以看到您已经添加的样式信息。您可以点击“查看命令”,查看样式对应的参数命令。

      image.png

    删除样式

    在样式管理列表中,点击“操作”列的“删除”,可删除样式。

    image.png

    上一篇
    图像处理指南V2.0
    下一篇
    图像缩略