gpt4 book ai didi

image-manipulation - 如何从命令行使用 GIMP 将 XCF 转换为 PNG?

转载 作者:行者123 更新时间:2023-12-03 09:17:58 25 4
gpt4 key购买 nike

作为构建过程的一部分,我需要将许多 XCF(GIMP 的 native 格式)图像转换为 PNG 格式。我确信使用 GIMP 的批处理模式应该可以做到这一点,但是我已经忘记了我以前知道的所有脚本。

我的输入图像有多个图层,因此我需要等效于“合并可见图层”的批处理模式,然后是“另存为 PNG”。另请注意,我无法在 ~/.gimp*/scripts/ 中安装任何东西— 我需要一个独立的命令行,或者一种在我的源代码树中安装脚本的方法。

请注意,虽然这类似于 this question ,我有一个额外的限制,我需要使用 GIMP 来完成。我尝试了当前版本的 ImageMagick,它破坏了我的测试图像。

最佳答案

在 jsbueno 发布他的答案之前,我还尝试在#gimp IRC channel 上提问。我被定向到 this thread on Gimptalk其中包含以下代码:

gimp -n -i -b - <<EOF
(let* ( (file's (cadr (file-glob "*.xcf" 1))) (filename "") (image 0) (layer 0) )
(while (pair? file's)
(set! image (car (gimp-file-load RUN-NONINTERACTIVE (car file's) (car file's))))
(set! layer (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))
(set! filename (string-append (substring (car file's) 0 (- (string-length (car file's)) 4)) ".png"))
(gimp-file-save RUN-NONINTERACTIVE image layer filename filename)
(gimp-image-delete image)
(set! file's (cdr file's))
)
(gimp-quit 0)
)
EOF

此脚本用于 xcf 文件,然后为每个文件加载文件,合并可见层,将结果保存为 PNG,并“卸载”图像。最后,它退出 GIMP。 glob 方法用于避免为每个图像启动 GIMP。它还回避了将参数从 shell 获取到 gimp 的问题。

我发布这个答案以防万一有人需要一种不使用 GIMP-Python 的方法(可能是因为它没有安装)。

关于image-manipulation - 如何从命令行使用 GIMP 将 XCF 转换为 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5794640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com