您可以通过自定义裁剪参数,在OSS存储的原图上裁剪指定大小的矩形图片。本文介绍自定义裁剪图片时所用到的参数及示例。

参数说明

操作名称:crop

参数说明如下:

参数 描述 取值范围
w 指定裁剪宽度。 [0,图片宽度]

默认为最大值。

h 指定裁剪高度。 [0,图片高度]

默认为最大值。

x 指定裁剪起点横坐标(默认左上角为原点)。 [0,图片边界]
y 指定裁剪起点纵坐标(默认左上角为原点)。 [0,图片边界]
g 设置裁剪的原点位置。原点按照九宫格的形式分布,一共有九个位置可以设置。
  • nw:左上
  • north:中上
  • ne:右上
  • west:左中
  • center:中部
  • east:右中
  • sw:左下
  • south:中下
  • se:右下

关于各裁剪原点位置的计算方法,请参见计算方法

各裁剪原点位置的计算方法如下。其中srcW代表原图宽度,srcH代表原图高度。

裁剪原点 位置计算方法
nw 0, 0
north srcW/2 - w/2, 0
ne srcW - w, 0
west 0, srcH/2 - h/2
center srcW/2 - w/2, srcH/2 - h/2
east srcW - w, srcH/2 - h/2
sw 0, srcH - h
sourth srcW/2 - w/2, srcH - h
se srcW - w, srcH - h

注意事项

  • 如果指定起点的横纵坐标大于原图,将会返回BadRequest错误,错误信息为Advance cut's position is out of image.
  • 如果从起点开始指定的宽度和高度超过了原图,将会直接裁剪到原图边界为止。

示例

您可以通过文件URL、SDK、API方式设置参数,处理图片。本文以文件URL为例进行介绍。关于如何使用SDK和REST API处理图片,请参见图片处理操作方式

本文示例使用的Bucket为杭州地域名为oss-console-img-demo-cn-hangzhou的Bucket,图片外网访问地址为: