在 Windows 中使用 Gimp 批量将图像转换为其他格式

在 Windows 中使用 Gimp 批量将图像转换为其他格式

正如标题所暗示的,有人知道如何在 Windows 中使用 gimp-console-[version].exe 程序在格式之间批量转换(使用默认设置)吗?

答案1

比 Gimp 或 Irfanview 更好图像魔术师

例如,尝试:

mogrify -format jpg *.png

答案2

输入以下内容~/.gimp-<YOURVERSION>/scripts/myconvert.scm

(define (myconvert in_filename out_filename)
    (let* (
            (image (car (gimp-file-load RUN-NONINTERACTIVE in_filename in_filename)))
            (drawable (car (gimp-image-get-active-layer image)))
        )
        (gimp-file-save RUN-NONINTERACTIVE image drawable out_filename out_filename)
        (gimp-image-delete image)
    )
)

然后,您可以运行以下命令将当前目录中的所有文件转换为 JPG:

for A in * ; do gimp -i -b "(myconvert \"$A\" \"$A.jpg\")" -b '(gimp-quit 0)' ; done

答案3

还有基于向导的批处理器可用:

DBP(大卫批处理器)对于 GIMP

在此处输入图片描述

答案4

有人知道如何在 Windows 中使用 gimp-console-[version].exe 程序在格式之间批量转换(使用默认设置)吗?

使用gimp-console-[version].exe一种叫做“方案”用于命令解释。脚本通常以扩展名结尾.scm

由于引号的细微差别,Scheme 很难批量传输到控制台这里,但这是可能的。

下面是一个使用批处理将.svg当前目录中的所有文件转换为.png文件的示例。它还将在注册表中查找 Gimp 可执行文件并计算命令行版本的路径。

@echo off

set resolution=72
set width=400
set height=600

REM Find Gimp in the registry
for /f "tokens=2*" %%a in ('reg query "HKCR\GIMP2.svg\shell\open\command" /ve 2^>^&1^|find "REG_"') do @set gimp=%%b

REM Calculate console exe
set gimp=%gimp:gimp-=gimp-console-%

REM Isolate exe
for %%i in (%gimp%) do (
    @set gimp=%%i
    goto :found
)

:found
echo Found Gimp console: %gimp%

REM Process files (change to "for /r %%i" for recursion)
for %%i in (*.svg) do (
    echo - Converting [ %%i --^> %%~ni.png ] ^(%width%x%height%@%resolution%^)
    %gimp% -i -b "(let* ((image (car (file-svg-load RUN-NONINTERACTIVE \"%%i\" \"\" 72 (- 0 400) (- 0 600) 0))) (drawable (car (gimp-image-get-active-layer image)))) (plug-in-autocrop RUN-NONINTERACTIVE image drawable) (gimp-file-save RUN-NONINTERACTIVE image drawable \"%%~ni.png\" \"%%~ni.png\") (gimp-image-delete image))" -b "(gimp-quit 0)"
)

请注意,此最终命令行可以适用于其他平台,方法是使用单引号将整个 scheme 命令括起来,并在其中使用裸双引号。已在 Gimp 2.10.18、2.10.14 上测试。

这个答案使用.scm从以下网络存档文章的文件中提取的代码:马修·盖茨 2014标题为“Gimp SVG 到光栅脚本”。

相关内容