以相同方式裁剪多张图像(简短教程)
2023-06-08 08:00:00
·
飞浪
·
重新选择
有时,您会想要从多幅图像中裁剪相同的区域(想象一下从大量屏幕截图中获取同一窗口的内容)。当然,您可以启动您最喜欢的图像编辑器来反复选择和裁剪,但通常,还有更好的方法。本简短教程介绍了一种对理论上无
有时,您会想要从多幅图像中裁剪相同的区域(想象一下从大量屏幕截图中获取同一窗口的内容)。当然,您可以启动您最喜欢的图像编辑器来反复选择和裁剪,但通常,还有更好的方法。本简短教程介绍了一种对理论上无限数量的图像执行此操作的有效方法。难度:基础 - 中等注意:强烈建议您在处理本教程中使用的图像之前对其进行备份。本教程中的某些操作将覆盖图像文件,因此如果您犯了错误,可能会丢失宝贵的数据。本教程假设您具有基本的 Linux 知识,例如启动程序、打开终端和使用终端。我们将使用的工具是GIMP和mogrify(来自ImageMagick套件),因此请确保您已安装它们。我们将使用 GIMP 以图形方式选择要裁剪的区域,并使用 mogrify 工具自动进行裁剪,从而节省大量工作。让我们从选择开始:
分为 5 个步骤:1. 打开 GIMP。2. 在 GIMP 中打开其中一张图片。3. 使用矩形选择工具(热键“R”)选择要裁剪的区域。4. 记下 GIMP 提供的 X、Y、宽度和高度值(查看图片,您可以在 GIMP 主窗口中找到它们)。5. 关闭 GIMP(或者如果您计划很快再次使用它,请将其保持打开状态)。现在,我们有了告诉 mogrify 实用程序要裁剪什么的值。让我们继续编写一行代码,以这样一种方式执行 mogrify,它将裁剪我们所有的图片!
现在我们开始在终端中工作。打开您最喜欢的终端,然后 cd 到图像所在的目录。请注意,我强烈建议目录中只包含要裁剪的图像,别无其他。这样可以为您省去很多麻烦。那么,让我们从 mogrify 命令开始。裁剪的语法如下:
[rechosen@localhost ~]$ mogrify -crop {宽度}x{高度}+{X}+{Y} 图像.png
现在不要害怕,{Width}、{Height} 等只是您应该放置从 GIMP 获得的值的地方!请注意,我使用 png 文件作为示例,而 mogrify 能够处理超过 100 种图像文件类型。您不必使用 png 文件。无论如何,如果我从屏幕截图中填写值,mogrify 命令将如下所示:
[rechosen@localhost ~]$ mogrify -crop 643x393+7+83 图像.png
该系统背后的逻辑如下:裁剪一个 643 x 393 像素的区域,从图像左侧 7 个像素和顶部 83 个像素开始。明白了吗?好的。上述命令将用裁剪后的版本覆盖 image.png。但这仍然只处理单个图像。让 mogrify 修改所有图像的最简单方法就是:
[rechosen@localhost ~]$ mogrify -crop 643x393+7+83 *.png
星号使 bash 填充当前目录中的所有 png 文件,而 mogrify 将顺利处理它们。经过(希望很短的)等待后,所有图像都将被裁剪。如果您想裁剪其他格式的图像,只需将“*.png”更改为“*.jpg”或“*.gif”即可。您可能希望为裁剪后的图像指定其他名称,这样原始图像就不会被覆盖,并且会清楚哪些图像已被裁剪,哪些图像没有。这更复杂,但是嘿,我们在 Linux 上工作!只要您花时间编写它,一切皆有可能。
为了给裁剪后的图像赋予其他名称,我们将使用 bash 循环。这次,我们将使用convert实用程序。它与 mogrify 属于同一个家族,但它使我们更容易输出到其他文件名。我不会解释整个循环,因为大部分都是 bash 知识,但我会告诉你你可以/应该改变哪些东西来获得正确的结果。有两种情况的循环,只需选择你最喜欢的文件命名即可。
- 情况 1:您希望输出文件像这样命名:originalfile.png => cropped_originalfile.png(同样,您可以在此处插入 100 多种受支持的图像格式中的任何一种,我只喜欢 png)。循环应如下所示:
[rechosen@localhost ~]$ 对于 *.png 中的文件;进行转换 -crop {Width}x{Height}+{X}+{Y} $file cropped_$file;完成
您应该将“png”替换为您想要的扩展名(当然可以考虑 jpg、gif、png 等等),并将“{Width}”、“{Height}”等替换为您从 GIMP 获得的值。您也可以将“cropped_”替换为您喜欢的任何前缀。
- 情况 2:您希望输出文件像这样命名:originalfile.png => originalfile_cropped.png(或 originalfile.jpg => originalfile_cropped.jpg,您随意命名)。在这种情况下,您应该使用以下循环:
[rechosen@localhost ~]$ 对于 *.png 中的文件;进行转换 -crop {Width}x{Height}+{X}+{Y} $file ${file%.png}_cropped.png;完成
再次,将“png”替换为您想要的扩展名(注意,它有3 个实例),并将“{Width}”、“{Height}”等替换为您从 GIMP 获得的值。您还可以将“_cropped”替换为您喜欢的任何后缀。请注意,在这种情况下,您可以轻松修改输出格式:如果您想以 jpg 格式输出裁剪后的图像,您只需将“png”的第三个实例替换为“jpg”,无论您的输入文件是什么格式。转换实用程序将检测到它并自动更改图像格式。
好吧,我希望这个小教程能帮到你。如果你需要(更多)帮助,请随时发表评论。感谢阅读,愿上帝保佑!
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~