我怎样才能制作这个 GIMP/ImageMagick 脚本?

How can I make this GIMP/ImageMagick script?

我正在使用 GIMP 对许多图像执行简单但繁琐的操作,所以我想知道如何制作一个脚本来为我完成这项操作,或者找到一些更简单的方法来执行此操作。

我导入了一个尺寸较大但大部分为方形的图像文件,有时像 550x564、580x596 等,可能是 jpg、bmp 或 png,我想导出一个 192x192 的 PNG 文件,调整大小和在较长尺寸的两端裁剪,通常是垂直的,但也可以是水平的。

我对垂直方向比水平方向长的图像执行以下步骤:

  1. Image->Scale Image->Set Width to 192 (Locked, so Height will automatically be set to something like 196)
  2. 单击缩放
  3. 图片->Canvas尺寸->设置高度为192
  4. 单击居中
  5. 单击调整大小
  6. File->Export As->same file name but extension changed to .png,从下拉列表中选择PNG图像(通常原始文件是jpg,但有时它们是 png,因此如有必要请覆盖)
  7. 单击导出(单击加载默认值)
  8. 再次单击导出

如何在 script-fu 或 python 中为 GIMP 执行此操作?或者在 ImageMagick 中?或者有没有更好的方法来为此制作一个宏?

我想我理解你了。尝试使用 ImageMagick 转换单个图像:

convert input.jpg -gravity center -resize 192x192^ -extent 192x192 -set filename:base "%[basename]" "%[filename:base].png"

您还可以潜在地利用 mogrify 的强大功能一次性完成整个目录中的图像,但要非常小心,并在远离主目录的某个位置对文件的 COPY 进行尝试工作。这实际上会更容易,因为你可以让 mogrify 自己计算出文件名,而不需要循环:

# Process all JPEGs in current directory
mogrify -format png -gravity center -resize 192x192^ -extent 192x192 *jpg

如果你在 Windows,你可能需要转义插入符号 (^),我不使用 Windows,但我认为你要么需要添加在它之前添加一个插入符号,或者可能将整个 -resize 参数用双引号引起来:

mogrify ... -resize "192x192^" ...

请注意,如果您使用的是 ImageMagick v7+,mogrify ... 将变为 magick mogrify ...