image - 使用从中心开始适合的最大正方形裁剪图像

标签 image shell ubuntu

假设我有一个大小为 X*Y 的图像, 调用D = min(X,Y) ,是否有一个 Ubuntu 命令允许裁剪大小为 D 的正方形的图像以 X/2,Y/2 为中心?

我相信convert可能有用,但我不知道如何使用哪些标志来完成这项工作。

最佳答案

您可以获得D作为宽度和高度中的较小者,如下所示:

D=$(convert input.jpg -format "%[fx:w<h?w:h]" info:)

然后像这样从中心裁剪那个大小的正方形:
convert input.jpg -gravity center -extent "${D}x${D}" result.jpg

因此,如果您从这张 800x400 图像开始:

enter image description here

你会得到这个 400x400 的图像:

enter image description here

关于image - 使用从中心开始适合的最大正方形裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53658438/

相关文章:

PHP - 多个文件到数据库中一个字段的路径

java - 似乎无法检索 ExifSubIFDDirectory

linux - 用于在本地主机中打开文件的 Bash 函数

ubuntu - 在 Ubuntu 中删除损坏的包

perl - Perl 用户输入程序无法在 Ubuntu 中执行

linux - CMake 获取 HOSTNAME 环境变量

html - 无法在容器内均匀定位图像

java - SWT - 将我的所有图像存储在一个位置的图像资源

python - 在 Linux 上的 python 中检测连接到 Raspberry Pi 的无线设备

bash - 将一个文件复制到每个子目录中