You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PNG图片裁剪为最小尺寸的正方形画布?

解决自动将裁剪后的图片转为正方形画布的问题

刚好我之前也碰到过一模一样的需求,用ImageMagick一行命令就能完美解决,完全不用手动猜画布尺寸,自动以裁剪后的最长边作为正方形边长,具体方案如下:

最终可用命令

convert input.png -trim +repage -gravity center -extent "%[fx:max(w,h)]x%[fx:max(w,h)]" output.png

逐参数拆解解释

  • -trim +repage:这部分你已经熟悉啦,先自动裁掉图片四周的透明区域,得到内容的最小边界;+repage是用来更新图片的页面信息,避免后续处理出现偏移bug。
  • -gravity center:设置内容在新画布中的对齐方式为居中,确保最终正方形里的内容是居中显示的,不会歪到一边。
  • -extent "%[fx:max(w,h)]x%[fx:max(w,h)]":这是核心的自动计算部分——w和h代表裁剪后的图片宽度和高度,max(w,h)会自动取两者中的最大值作为正方形的边长,ImageMagick会自动把画布扩展成这个正方形尺寸,空白区域会保留原有的透明背景。

效果示例

比如裁剪后的图片是宽300px、高500px,命令会自动生成500x500px的正方形画布,把300px宽的内容居中放在里面,左右两侧保留透明背景;如果裁剪后是宽600px、高400px,就会生成600x600px的正方形,上下两侧留透明背景,完全不用你手动指定数值。

内容的提问来源于stack exchange,提问作者Terence Eden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:09:10