如何裁剪相同维度的图像 W/H (Ubuntu 16)

How to crop images in same dimension W/H (Ubuntu 16)

我的网页有很多住宿和餐厅的图片,但每张图片的尺寸都不一样。 例如,我有一张 300x250 的图片和另一张 550x300 的图片。

例如,我想制作从 300x250 到 250x250 和 300x550 到 300x300 裁剪图像的正方形。

我找到了一些使用 "imagemagic" 裁剪图像的命令,但我无法裁剪为正方形,居中。

我想将所有图片复制成正方形,然后将所有图片调整为相同大小。

我尝试使用此命令,但出现 "No such file or directory" 错误。

find . -name '*.jpg' -type f -exec bash -c 'convert -define jpeg:size=200x200 ${0%.jpg}  -thumbnail 100x100^ -gravity center -extent 100x100  [=12=]_thumbnail.jpg'  {} \;

现在,我可以使用以下代码裁剪图像:

find . -name '*.jpg' -type f -exec bash -c 'convert -define jpeg:size=200x200 [=13=]  -thumbnail 100x100^ -gravity center -extent 100x100  [=13=]_thumb.jpg'  {} \;

但是裁剪后的图像得到了这个名字 "X.jpg_thumb.jpg"。 我如何修改此命令以创建 X_thumb.jpg 文件名?

[已解决] 这个命令解决了我的问题 "%.*"

 find . -name '*.jpg' -type f -printf "%f\n" -exec bash -c 'convert -define jpeg:size=200x200 [=14=]  -thumbnail 100x100^ -gravity center -extent 100x100  ${0%.*}_thumb.jpg'  {} \;

解决方案

find . -name '*.jpg' -type f -printf "%f\n" -exec bash -c 'convert -define jpeg:size=200x200 [=10=]  -thumbnail 100x100^ -gravity center -extent 100x100  ${0%.*}_thumb.jpg'  {} \;