使用GIMP命令行转换XCF和其他文件?
-
08-07-2019 - |
题
如果我有一个XCF文件(或Gimp支持的任何其他文件),如何将其转换为例如PNG以供显示或进一步处理?
解决方案
我迟了几年,但我想我会添加我认为目前为止最好的解决方案:有一个名为 Xcftools (在Ubuntu上, apt-get install xcftools
),它有一个名为 xcf2png
的实用程序,可以完美地完成这项工作。
xcf2png image.xcf -o image.png
这比使用ImageMagick(正如我在上面的评论中所说的那样可怕地被破坏)或者b)使用Gimp(其具有极其复杂的脚本语言以简单地导出图像)要好得多。
其他提示
我想 ImageMagick 应该做你想要的(甚至更多)
convert image.xcf image.png
可以找到一个非常好的解决方案(和解释!)这里。简而言之,有一个bash脚本提供方案/ lisp到gimp
#!/bin/bash
{
cat <<EOF
(define (convert-xcf-to-jpeg filename outfile)
(let* (
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))
)
(file-jpeg-save RUN-NONINTERACTIVE image drawable outfile outfile .9 0 0 0 " " 0 1 0 1)
(gimp-image-delete image) ; ... or the memory will explode
)
)
(gimp-message-set-handler 1) ; Messages to standard output
EOF
for i in *.xcf; do
echo "(gimp-message \"$i\")"
echo "(convert-xcf-to-jpeg \"$i\" \"${i%%.xcf}.jpg\")"
done
echo "(gimp-quit 0)"
} | gimp -i -b -
但请查看完整故事的页面。这是值得的。
GIMP以外的程序很少(如果有的话)读取XCF文件。这是由GIMP开发人员设计的,格式没有真正记录或作为通用文件格式支持。
话虽如此,请查看使用GIMP本身,使用命令行参数(尤其是 - batch
选项)。
编辑:它看起来好像好像ImageMagick支持XCF,所以很可能如果支持似乎足够好,那么这是一条更容易的路线。我没有测试过,文档也没有多说。我会有点小心。
如果您想将.xcf图像批量转换为.png,您可能会发现此包装脚本更有用:
#! /bin/bash -peux
exec xcf2png $1 -o ${1%.xcf}.png
将它保存在PATH上的某个位置 xcftopng
(注意到
而不是 2
)并按如下方式调用它:
ls *.xcf|xargs -l xcftopng
不隶属于 StackOverflow