批量裁剪图片

批量裁剪图片

我文件夹中有很多图片(它们的大小可能不同),我想将它们分成两部分,如下所示。对于每个 image.jpg,我想要两个文件:

  • imageA.jpg 是从 image.jpg 裁剪掉左侧 50% 得到的
  • imageB.jpg 是从 image.jpg 裁剪掉右侧 50% 得到的

有没有简单的方法可以做到这一点?

答案1

这是一个简单的命令来执行您想要的操作:

for f in *.{jpg,jpeg}; do convert "${f}" -crop 2x1@ "${f}"; done;

笔记:如果调用一个文件,image.jpg左半部分将是 image-0.jpg,右半部分将是 image-1.jpg。

要使此命令起作用,您必须首先切换到所有图像文件所在的目录。例如,如果图像文件位于文件夹中,~/path/to/images则您需要首先使用以下命令:

cd ~/path/to/images

其次是:

for f in *.{jpg,jpeg}; do convert "${f}" -crop 50%x100% "${f}"; done;

稍微注意不同的裁剪选项。

您可能希望将这两个命令放入 bash 脚本中。

希望这可以帮助

相关内容