如果我有一个 XCF 文件(或 Gimp 支持的任何其他文件),我如何将其转换为例如 PNG 以进行显示或进一步处理?
6 回答
我迟到了几年,但我想我会添加我认为迄今为止最好的解决方案:有一个名为Xcftools的工具套件(在 Ubuntu 上apt-get install xcftools
),它有一个名为的实用程序xcf2png
可以完美地完成这项工作。
xcf2png image.xcf -o image.png
这比 a) 使用 ImageMagick(正如我在上面的评论中所说的那样严重损坏)或 b) 使用 Gimp(它具有极其复杂的脚本语言,用于简单地导出图像)要好得多。
我猜ImageMagick应该做你想做的(甚至更多)
convert image.xcf image.png
一个很好的解决方案(和解释!)可以在这里找到。简而言之,gimp 有一个 bash 脚本馈送方案/lisp
#!/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
(注意to
不是2
)并像这样调用它:
ls *.xcf|xargs -l xcftopng
猛击单线器。只需要转换(通常已经从 imagemagick 安装)。
convert -alpha on -background none -layers merge t2.xcf t2.png
迭代 xcf 文件以将它们转换为适当名称的脚本:
for i in *.xcf; do convert -alpha on -background none -layers merge $i ${i/xcf/png}; done