开发者社区 问答 正文

图片裁剪之如何实现内切圆?


用户可以将图片只保存圆形图案,如果图片的最终格式是 png、webp、 bmp 等支持透明通道的图片,那么图片非圆形区域的地方将会以透明填充。如果图片的最终格式是 jpg,那么非圆形区域是以白色进行填充。

参数


操作名称:circle

参数描述取值
r从图片取出的圆形区域的半径半径 r 不能超过原图的最小边的一半。如果超过,则圆的大小仍然是原圆的最大内切圆。


注意事项

  • 如果图片的最终格式是 png、webp、 bmp 等支持透明通道的图片,那么图片非圆形区域的地方将会以透明填充。如果图片的最终格式是 jpg,那么非圆形区域是以白色进行填充。推荐保存成 png 格式。
  • 如果指定半径大于原图最大内切圆的半径,则圆的大小仍然是图片的最大内切圆。


示例

  • 裁剪半径是100, 保存圆是原来大小。如果保存成jpeg格式,外围是以白色填充。

http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100
  • 裁剪半径是100, 保存圆是能包含圆的最小正方形,如果保存成png格式,外围是以透明色填充

http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100/format,png

展开
收起
青衫无名 2017-10-23 10:41:34 2061 分享 版权
阿里云 AI 助理回答

用户想要将图片处理为仅保留圆形图案,并关注不同格式下的填充情况。根据提供的信息,您可以按照以下方式操作:

  1. 使用Circle参数处理图片

    • 操作名称: circle
    • 关键参数:
      • r: 指定内切圆的半径,取值范围是1到原图最小边的一半(包括两端点)。如果指定的半径大于原图最大内切圆的半径,则实际处理时会自动调整为原图的最大内切圆尺寸。
  2. 输出格式与填充说明:

    • PNG、WebP、BMP格式: 非圆形区域将以透明填充,适合需要背景透明的应用场景。
    • JPEG格式: 非圆形区域将以白色填充。如果您希望保持背景透明,推荐选择PNG等支持透明度的格式。
  3. 示例操作:

    • 保持圆形原始大小,JPEG格式,外围白色填充:
      http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100
      
    • 圆形保存在能包含它的最小正方形中,PNG格式,外围透明填充:
      http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100/format,png
      

通过上述方法和示例URL,您可以根据需求选择合适的参数来实现图片的圆形裁剪,并控制输出图片的格式及非圆形区域的填充效果。

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