如何制作这个GIMP / ImageMagick脚本?

时间:2018-05-02 05:52:44

标签: python imagemagick gimp script-fu

我正在使用GIMP为许多图像做一个简单但乏味的操作,所以我想知道如何制作一个能够为我做这个的脚本,或者找一些更简单的方法来做这个。

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

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

  1. 图像 - >缩放图像 - >将宽度设置为192(已锁定,因此高度将自动设置为196)
  2. 点击缩放
  3. 图片 - >画布尺寸 - >将高度设为192
  4. 点击中心
  5. 点击调整大小
  6. 文件 - >导出As->相同的文件名,但扩展名更改为 .png ,以及从下拉列表中选择的PNG图像(通常原始文件是jpg,但有时它们是png ,所以必要时覆盖)
  7. 点击导出(点击加载默认设置)
  8. 再次点击导出
  9. 如何在Script-fu或python中为GIMP执行此操作?还是在ImageMagick?或者有更好的方法为此制作宏吗?

1 个答案:

答案 0 :(得分:2)

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

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

你还可以利用mogrify的强大功能一次性完成一个完整的图像目录,但要非常小心,并在远离主要工作的某个地方复制你的文件。这实际上会更容易,因为您可以让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 ...