开发者社区 问答 正文

图片裁剪之如何实现高级裁剪?


可以通过指定起始横坐标,纵坐标及裁剪的宽度和裁剪的高度对图进行高级裁剪。

参数

名称描述取值范围
a参数的类型:x-y-width-length 如:100-50-200-150a 一共四个参数,每个参数之间以”-“隔开。第一个参数表示起始点x坐标(以左上角为原点),第二个参数表示起始点y坐标, 第三个参数表示要裁剪的宽度,第四个参数表示要裁剪的高度。如100-50-200-150a 表示从点(100, 50) 裁剪大小为(200, 150)的图片。注意:可以将第三个参数,第四个参数置为0, 表示裁剪到图片的边缘。如100-50-0-0a 表示从点(100, 50) 裁剪到图片的最后width, height的范围是1-4096


注意事项

  • 如果不指定格式,原图将默认转换成jpg格式,如果原图是png, webp, bmp可能会导致图出现变形。详细可以查看质量变换格式转换
  • 如果指定的起始横纵坐标大于原图,将会返回错误:BadRequest, 错误内容是:Advance cut's position is out of image.
  • 如果从起点开始指定的宽度和高度超过了原图,将会直接裁剪到原图结尾。


使用示例

  • 裁剪图从起点(100, 50)到图的结束

http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-50-0-0a
  • 裁剪图从起点(100, 50)到裁剪100x100的大小

http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-50-100-100a

展开
收起
青衫无名 2017-10-23 11:17:08 2417 分享
分享
版权
举报
阿里云 AI 助理回答

在阿里云图片处理服务中,您可以实现高级图片裁剪功能,通过指定图片的起始横坐标、纵坐标以及裁剪宽度和高度来精准控制裁剪区域。以下是操作指南及注意事项:

高级裁剪参数说明

  • 参数a: 用于定义裁剪参数,格式为x-y-width-heighta。例如,100-50-200-150a表示从图片左上角坐标(100, 50)开始,裁剪出一个宽200像素、高150像素的区域。

    • x: 起始点x坐标(以左上角为原点)。
    • y: 起始点y坐标。
    • 宽度与高度: 分别指定裁剪区域的宽度和高度。支持将宽度或高度设置为0,意味着裁剪到图片的相应边缘。如100-50-0-0a会从点(100, 50)裁剪到图片的右下角。
  • 取值范围: 宽度和高度的取值需在1至4096像素之间。

注意事项

  • 默认格式转换: 如果不特别指定输出格式,图片会被默认转换为JPG格式,可能导致PNG、WEBP、BMP等格式图片失真。
  • 坐标超出错误: 指定的裁剪起始坐标不能超过原图尺寸,否则会返回错误BadRequest,提示“Advance cut's position is out of image”。
  • 裁剪范围超界: 若指定的裁剪宽度和高度之和超过原图边界,系统会自动调整裁剪范围至图片边缘。

使用示例

  1. 裁剪至图片边缘:

    http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-50-0-0a
    

    这表示从图片位置(100, 50)开始,裁剪到图片的右下角。

  2. 裁剪固定大小区域:

    http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-50-100-100a
    

    表示从点(100, 50)裁剪出一个100x100像素的图片区域。

请确保遵循上述规则进行图片裁剪操作,以避免错误并获得预期的裁剪效果。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等