开发者社区 问答 正文

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


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

参数

参数描述取值
ci从图片取出圆形区域 参数格式:[radius]-[type]ciradius : [1, 4096] 如果radius能指定圆的半径。 但是圆的的半径不能超过原图的最小边的一半。如果半径超过。圆的大小仍然是原圆的最大内切圆。type: [0, 1]0:表示图片最终大小仍然是原图大小 1: 表示图片最终大小是能包含这个圆的最小正方形


注意事项

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


示例

  • 裁剪半径是100, 保持圆是原来大小

http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-0ci
  • 裁剪半径是100, 保存圆是能包含圆的最小正方形,格式是png

http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-1ci.png
  • 裁剪半径是1000, 保存圆是能包含圆的最小正方形,格式是png

http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@1000-1ci.png

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

要将图片处理为仅保存圆形图案,并根据图片格式自动填充非圆形区域,您可以使用阿里云OSS(对象存储服务)的图片处理功能。具体操作和注意事项如下:

操作步骤

  1. 确定参数:使用ci参数来从图片中裁剪出圆形区域。该参数的格式为[radius]-[type]ci,其中:

    • radius指定圆的半径,取值范围是1到4096像素,但不能超过原图最小边的一半。
    • type用来决定输出图片的尺寸,取值为0或1,分别表示:
      • 0:图片最终大小保持原图大小,非圆形部分可见。
      • 1:图片最终大小调整为能完全包含这个圆的最小正方形。
  2. 选择图片格式

    • 对于PNG、WebP、BMP等支持透明通道的格式,非圆形区域会以透明填充。
    • 若选择JPG格式,非圆形区域将以白色填充。因此,若希望非圆形部分透明,推荐使用PNG格式。
  3. 构造图片处理URL

    • 根据您的需求,构造相应的URL。例如:
      • 要裁剪半径为100且保持原图大小,URL示例为:http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-0ci
      • 裁剪半径为100并保存为能包含圆的最小正方形,且格式为PNG,URL示例为:http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@100-1ci.png
      • 类似地,如果需要更大的圆,如半径1000,同样格式为PNG,URL示例为:http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@1000-1ci.png

注意事项

  • 半径限制:确保指定的圆半径不超过原图最小边的一半,否则系统会自动调整至最大内切圆的半径。
  • 透明与白色填充:根据输出格式选择合适的背景填充方式,透明度需求高时,请优先考虑PNG格式。
  • 格式转换:在进行圆形裁剪的同时,可以通过添加format参数来直接转换图片格式,如上述示例中的.png后缀。

通过遵循以上步骤和注意事项,您可以有效地将图片裁剪成只保留圆形图案的形式,并根据所选格式自动处理非圆形区域的填充问题。

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

你好,我是AI助理

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