将图像修剪为最小的正方形
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图像修剪为最小的正方形相关的知识,希望对你有一定的参考价值。
我有一个PNG。我想将它修剪成尽可能小的图像,同时保持画布方形。
例如,我有一个透明背景的非方形图像:
如果我运行convert input.png -trim +repage output.png
,图像将被修剪四周:
我想要一个正方形图像,其中修剪图像的最长边是正方形的高度和宽度。例如:
我想过使用-gravity center -extent 512x512
- 但我并不总是知道大小应该是多少。
如何获得修剪图像的最长边,并根据它调整画布大小?
答案
这可以通过使用FX表达式来设置像这样的页面几何...
convert input.png -trim -background none
-set page "%[fx:max(w,h)]x%[fx:max(w,h)]+%[fx:(max(w,h)-w)/2]+%[fx:(max(w,h)-h)/2]"
-coalesce output.png
修剪输入并计算宽度或高度的最大值以确定方形的尺寸。然后,它设置几何体以将输入图像定位在正方形的中心。 “-coalesce”重新组合输入以符合画布大小和几何。
这适用于具有横向或纵向方向的图像。
要将其用作Windows命令,请将连续行反斜杠“”更改为插入符号“^”。在Windows BAT脚本中,将单个百分号“%”设置为双精度“%%”。
另一答案
你没有说你正在使用哪个版本的Imagemagick会对答案产生影响。
这是一个V7答案,你可以在V6上遵循相同的过程,但它可能会更长一点。
magick "input.png" -trim -background none -gravity center -extent %wx%w "output.png"
以上是关于将图像修剪为最小的正方形的主要内容,如果未能解决你的问题,请参考以下文章