如果您希望获取指定大小的OSS图片,以适配网页元素或者满足排版格式的要求,您可以使用自定义裁剪功能。
使用场景
网页设计与制作:在设计网页布局时,可能需要将图片裁剪成特定尺寸以适应网页元素,如头像、背景图、产品展示图等。
社交媒体发布:不同社交媒体平台对图片上传有各自的尺寸要求,例如封面照片、帖子图片、故事图片等,您需要按照推荐尺寸进行图片裁剪,以达到最佳展示效果。
移动应用开发:App中的图标、启动页、内嵌图片等都需要按规格裁剪,确保在不同分辨率和屏幕尺寸的设备上都能正确显示。
图像数据库管理:对于拥有大量图像资源的机构,例如图书馆、档案馆等,整理和归档时可能需要统一裁剪图片至预设尺寸。
参数说明
操作名称:crop
参数说明如下:
参数 | 描述 | 取值范围 |
w | 指定裁剪宽度。 | [0,图片宽度] 默认为最大值。 |
h | 指定裁剪高度。 | [0,图片高度] 默认为最大值。 |
x | 指定裁剪起点横坐标(默认左上角为原点)。 | [0,图片边界] |
y | 指定裁剪起点纵坐标(默认左上角为原点)。 | [0,图片边界] |
g | 设置裁剪的原点位置。原点按照九宫格的形式分布,一共有九个位置可以设置。 |
关于各裁剪原点位置的计算方法,请参见计算方法。 |
各裁剪原点位置的计算方法如下。其中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为例进行介绍,人脸裁剪和智能算法裁剪示例除外。文件URL仅适用于公共访问的图片。如果是私有访问的图片,请使用SDK、API处理图片。更多信息,请参见图片处理操作方式。
示例
本文示例使用的Bucket为杭州地域名为oss-console-img-demo-cn-hangzhou-3az的Bucket,图片外网访问地址为:
从(800,50)开始,裁减至图片边界
需求及处理参数如下:
裁剪起点为(800,50):
crop,x_800,y_50
裁减至图片边界:裁剪时默认使用w和h的最大值,所以可省略w和h参数。
从(800,500)开始,裁剪300 px*300 px大小的图片
需求及处理参数如下:
裁剪起点为(800,500):
crop,x_800,y_500
裁减范围300 px*300 px:
w_300,h_300
裁剪原图右下角900 px*900 px的范围
需求及处理参数如下:
裁剪起点为原图右下角:
crop,g_se
裁减范围900 px*900 px:
w_900,h_900
裁剪原图右下角900 px*900 px的范围,起点为相对右下九宫格的左上顶点再位移(100,100)
需求及处理参数如下:
起点为原图右下角再位移(100,100):
crop,g_se,x_100,y_100
裁减范围900 px*900 px:
w_900,h_900