Woocommerce 裁剪产品图像,但保持产品居中且图像高度/宽度相同(批处理、linux、cli)

Woocommerce 裁剪产品图像,但保持产品居中且图像高度/宽度相同(批处理、linux、cli),woocommerce,debian,imagemagick,crop,mogrify,Woocommerce,Debian,Imagemagick,Crop,Mogrify,我正在为我计划在WooCommerce销售的产品拍照。我刚刚开始,现在我用我的手机用三脚架和光电管拿着它们。质量和照明都很好 现在看来,我还没有能够保持我的三脚架距离为每一个图像相同,因此该对象可以稍微小于或大于其他 我想要的是一个使用imagemagick或mogrify之类的命令来(自动)裁剪图像,这样所有图像的实际对象的高度和宽度都是相同的,假设产品在现实生活中也具有相似的尺寸 然后在对象周围添加一点空白,使每个图像的高度和宽度相同。这样,Woocommerce将在目录页上很好地显示它们

我正在为我计划在WooCommerce销售的产品拍照。我刚刚开始,现在我用我的手机用三脚架和光电管拿着它们。质量和照明都很好

现在看来,我还没有能够保持我的三脚架距离为每一个图像相同,因此该对象可以稍微小于或大于其他

我想要的是一个使用imagemagick或mogrify之类的命令来(自动)裁剪图像,这样所有图像的实际对象的高度和宽度都是相同的,假设产品在现实生活中也具有相似的尺寸

然后在对象周围添加一点空白,使每个图像的高度和宽度相同。这样,Woocommerce将在目录页上很好地显示它们

现在有点乱。某些产品在特定区域有太多的空白,这会导致标题不对齐和页面整体外观不好

另外(好像我还没有把它弄得够难似的)重要的是,图像下方的空白对于所有图像都必须是相同的,因为图像中的对象必须与它旁边的其他对象保持水平


我有4200张图片需要这个,我真的非常感谢任何帮助。我使用debian,更喜欢批处理命令或应用程序。

由于您没有提供图像,我在这里伪造了一个带有黄色边框的图像。我会照你说的做,但要用洋红和青色,这样你才能看到效果,所以你需要用白色来代替那些颜色

首先,修剪当前边界:

convert start.png -trim 1.png

现在在底部添加一条100px的固定高度条:

convert 1.png -background magenta -gravity south -splice x100 2.png

现在,将左侧、右侧和顶部(而不是底部)垫成标准尺寸:

convert 2.png -gravity south -background cyan -extent 500x500 3.png

当然,您可以一次完成所有这些:

convert start.jpg -trim                            \
   -background magenta -gravity south -splice x100 \
   -gravity south -background cyan -extent 500x500 result.png

有点难,没有看到一些好的和一些坏的…也许我可以简化我的目标。Autocrop>在下方添加一定数量的空白>然后在左/右/顶部添加空白,直到满足特定的图像大小。如果看不到一些图像,不知道大小和您未提供的某些内容,这有点困难。想象一个鞋侧面的图像。。。鞋的宽度在任何时候都几乎相同,尤其是在应用autocrop后。我想我已经弄明白了,只是需要测试一下。太好了!谢谢。这正是我所需要的。如果我想进行autocrop(修剪),然后只添加顶部和底部边框,这样每个鞋和鞋类型都是垂直对齐的,但是每个图像的图像高度是相同的?请尝试
convert input.png-fuzz 10%-trim-bordercolor red-border 0x50 result.jpg
这看起来像我需要的,但我事先不知道边框大小,因为每个图像在修剪后都有不同的高度。我不能使用-extent来定义最大高度,同时保持对象居中吗?请注意,无论对象尺寸如何,每个图像的总宽度和高度都是相同的。我需要一个批处理命令,用于所有4000多个图像。你可以省略修剪,因为我的后台燃烧器服务会修剪它们。