文档中心

图片处理


缩略、裁剪、自动旋转

接口

imageScale

描述

该功能提供对图片的缩略、裁剪和旋转功能。 缩略具有多种方式:

  • 只设置缩略宽,按照宽进行等比例缩放;
  • 只设置缩略高,按照高进行等比例缩放;
  • 设置宽和高,在没有设置短边优先的情况下按照长边进行等比例缩放;
  • 设置宽和高,在设置短边优先的情况下按照短边进行等比例缩放。

裁剪具有三种使用方式:

  • 居中裁剪,在进行缩放以后对超出设定范围外的进行居中裁剪,该裁剪只会发生在设定了缩略宽和高的情况下;
  • 在设定了固定宽和高的情况下,选择裁剪会按照固定的宽和高居中裁剪。
  • 任意位置裁剪,设置起始横坐标和起始纵坐标,设置裁剪宽和高进行裁剪。

旋转:

  • 按照Exif中包含的旋转角度进行选转。

由于对缩略、裁剪和旋转不同的处理顺序会出现不同的结果,所以默认先进行旋转,然后进行缩略,最后进行裁剪。

权限

该接口操作需要具备GetObject权限,假如获取对象不存在,你可能存在以下两种返回:

  • 假如用户具有该对象所在Bucket的ListBucket权限,会返回状态码404错误;
  • 假如用户不具备该对象所在Bucket的ListBucket权限,会返回状态码403错误。

请求

语法
https://BucketName.kss.ksyun.com/object@base@
    tag=imgScale   
    &m=<mode>   
    &w=<width>   
    &h=<height>   
    &q=<quality>   
    &F=<format>   
    &r=<auto-orient>   
    &c=<cut>   
    &f=<fixed>     
    &s=<strip>
    &cox=<x-coordinate>
    &coy=<y-coordinate>
    &rotate=<degree>    HTTP/1.1
Host: BucketName.kss.ksyun.com
请求参数:
参数名称 必填 解释说明
tag 操作标志
m 缩放优先边,默认值m=0
m=0:长边优先缩放,缩放按照较长边的缩放比例进行缩放,不剪裁
m=1:短边优先缩放,缩放按照较短边的缩放比例进行缩放,不剪裁
m=2:限定缩略图的宽最少为<width>,高最少为<height>,进行等比缩放,居中裁剪,剪裁后的缩略图通常恰好是 <width>x<height>
w w/h必须有一个 指定目标缩略图的宽度,单位:像素(px)。 当单独使用时,代表按照宽度等比缩放。取值范围:1-4096
h w/h必须有一个 指定目标缩略图的高度,单位:像素(px)。 当单独使用时,代表按照高度等比缩放。取值范围:1-4096
q 决定 jpg 图片的相对quality,对原图压缩,范围为0-100 , 0表示高压缩低质量,100表示低压缩,高质量。默认q=75。
F 指定目标缩略图的输出格式,默认按照原图格式输出
r 有些相机拍的照片会出现旋转,本参数就是否根据原图 EXIF 信息自动适应方向,默认值r=0
r=0:按原图默认处理
r=1:按原图 EXIF 信息自动旋转图片
r=2:自定义旋转角度,旋转角度由<rotate>参数指定
c 是否裁剪,默认值是:0(否)对缩放后超出范围的图片内容进行剪裁,这种情况一般发生在按照短边优先的等比缩放中。缩放会以图片中线为中心,进行上下/左右的 裁剪,得到相应的尺寸
f 是否固定宽高,默认值f=0(否)
f=1:以图片中线为中心,裁剪指定w和h的区域,此参数与参数 cut 配合使用,当使用 f 时会固定图片的宽高,进行非缩放裁剪
s 是否支持去除元数据。默认值1,0表示否,1表示是
cox 裁剪起始横坐标,此参数与参数cut及参数fixed配合使用,当不设置裁剪起始横坐标时则默认居中裁剪
coy 裁剪起始纵坐标,此参数与参数cut及参数fixed配合使用,当不设置裁剪起始纵坐标时则默认居中裁剪
rotate 旋转角度,取值范围1-360,缺省为不旋转。自定义旋转角度需指定参数<r>等于2
请求头部

该请求不需要设置特殊的头部。

响应:

响应头部
头部名称 必填 说明
Content-Type MIME类型,成功时为图片固定的MIME类型image/*,失败时为application/json
响应内容:

如果请求处理成功,返回图片的二进制图片数据。

特殊错误:

</tr> </thead>

<\/tr> <\/tr> <\/tr>

</tr> </tbody> </table>

示例

只设置缩略宽,按照宽进行等比例缩放:

宽度为200px

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@tag=imgScale&w=200

示例图片

只设置缩略高,按照高进行等比例缩放:

高度为200px

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@tag=imgScale&h=200

示例图片

设置宽和高,在没有设置短边优先的情况下按照长边进行等比例缩放:

高度为200px,宽度为100px

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@tag=imgScale&h=200&w=100&m=0

示例图片

设置宽和高,在设置短边优先的情况下按照短边进行等比例缩放:

高度为200px,宽度为100px,m为1

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@tag=imgScale&h=200&w=100&m=1

示例图片

居中裁剪,在进行缩放以后对超出设定范围外的进行居中裁剪:

高度为30px,宽度为200px

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@tag=imgScale&h=30&w=200&m=0&c=1

示例图片

高度为200px,宽度为20px

https://ks3.kss.ksyun.com/image_deal/suiyi.jpg@base@tag=imgScale&h=200&w=20&m=1&c=1

示例图片

固定宽和高的情况下,按照固定的宽和高居中裁剪:

高度为100px,宽度为50px

https://ks3.kss.ksyun.com/image_deal/suiyi.jpg@base@tag=imgScale&h=100&w=50&c=1&f=1

示例图片

任意位置裁剪,起始横坐标和起始纵坐标必须在图片以内,设置起始横坐标和起始纵坐标进行裁剪:

起始横坐标为100,起始纵坐标为50,裁剪高度为200px,宽度为100px

https://ks3.kss.ksyun.com/image_deal/suiyi.jpg@base@tag=imgScale&w=100&h=200&c=1&f=1&cox=100&coy=50

示例图片

HttpCode 含义
200 操作成功
400 请求报文格式错误
404 资源不存在
500 服务器端操作失败。
如果遇到此种错误,请及时联系我们。