阿里云OSS提供了丰富的图片压缩和剪裁模式,以满足不同场景的需求。以下是它们的描述:
缩放模式
m_fixed: 固定宽高,将图像缩放到指定尺寸。用法示例:?x-oss-process=image/resize,m_fixed,w_200,h_200
m_lfit: 等比缩放,缩放后的图片宽高均不超过指定的长宽。用法示例:?x-oss-process=image/resize,m_lfit,w_200,h_200
m_mfit: 等比缩放,缩放后的图片宽高至少有一个等于指定的长宽。用法示例:?x-oss-process=image/resize,m_mfit,w_200,h_200
m_pad: 等比缩放,缩放后的图片宽高至少有一个等于指定的长宽,背景直接补白。用法示例:?x-oss-process=image/resize,m_pad,w_200,h_200
裁剪模式
m_fill: 指定尺寸,居中剪裁。用法示例:?x-oss-process=image/crop,w_200,h_200,g_center
m_lfill: 指定宽度,高度自适应,居左剪裁。用法示例:?x-oss-process=image/crop,w_200
m_ufill: 指定高度,宽度自适应,居上剪裁。用法示例:?x-oss-process=image/crop,h_200
m_pad: 按指定尺寸裁剪,缺部分用纯色填充。用法示例:?x-oss-process=image/crop,w_200,h_200
m_fixed: 固定宽高,按中心剪裁。用法示例:?x-oss-process=image/resize,m_fixed,w_200,h_200
m_limit: 限定宽高上限,按长边优先。用法示例:?x-oss-process=image/resize,m_limit,w_200,h_200
m_mfit: 等比缩放,缩放后的图片宽高至少有一个等于指定的长宽。指定后按照中心点裁剪。用法示例:?x-oss-process=image/resize,m_mfit,w_200,h_200
m_imscale: 智能压缩,依据图像内容自动调整,不保证指定尺寸。用法示例:?x-oss-process=image/resize,m_imscale,w_200,h_200
m_region: 指定剪裁的范围,可以是矩形、圆形或多边形。用法示例:?x-oss-process=image/crop,region_0-0-200-200
通过使用这些模式,您可以灵活地适应各种不同的图片处理需求,并且快速地生成高质量的图片。
缩放到指定宽度后剪切指定高度的写法
您可以使用阿里云OSS的图片处理功能,按照以下方式对图片进行操作,以缩放到指定宽度之后进行指定高度的剪切:
复制代码https://xx.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_700,limit_1/format,webp?x-oss-process=image/resize,w_800/crop,h_500
上述代码中,w_800表示将图片宽度缩放到800像素,h_500则表示将缩放后的高度剪切为500像素,实现了在限定宽度的情况下按照给定比例进行了高度的裁剪。
您也可以进一步优化该处理方式,例如:
增加对图片等比例缩放的支持,避免图片变形:
复制代码https://xx.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_700,limit_1/format,webp?x-oss-process=image/resize,m_lfit,w_800/crop,h_500
增加对裁剪区域起始坐标的控制,例如将剪裁区域从底部开始计算,以便更好地展示图片的上部内容:
复制代码https://xx.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_700,limit_1/format,webp?x-oss-process=image/resize,m_lfit,w_800/crop,x_0,y_0,w_800,h_500,g_south
通过使用上述代码,您可以在阿里云OSS中实现更准确,方便和可定制的图片处理需求,以满足您的具体业务场景的需要。