21

如果我有一个 XCF 文件(或 Gimp 支持的任何其他文件),我如何将其转换为例如 PNG 以进行显示或进一步处理?

4

6 回答 6

30

我迟到了几年,但我想我会添加我认为迄今为止最好的解决方案:有一个名为Xcftools的工具套件(在 Ubuntu 上apt-get install xcftools),它有一个名为的实用程序xcf2png可以完美地完成这项工作。

xcf2png image.xcf -o image.png

这比 a) 使用 ImageMagick(正如我在上面的评论中所说的那样严重损坏)或 b) 使用 Gimp(它具有极其复杂的脚本语言,用于简单地导出图像)要好得多。

于 2011-06-12T07:59:45.293 回答
7

我猜ImageMagick应该做你想做的(甚至更多)

convert image.xcf image.png
于 2009-03-10T14:20:21.430 回答
4

一个很好的解决方案(和解释!)可以在这里找到。简而言之,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 -

但是请查看页面以获取完整的故事。这很值得。

于 2015-02-06T11:27:05.487 回答
2

除了 GIMP 之外,很少有程序(如果有的话)读取 XCF 文件。这是 GIMP 开发人员的设计,该格式并未真正记录或支持为通用文件格式。

话虽如此,请考虑使用 GIMP 本身,使用命令行参数(尤其是--batch选项)。

编辑:看起来ImageMagick 确实支持 XCF,所以如果支持看起来足够好,这可能是一条更简单的路线。我没有测试过,文档也没有说太多。我会有点警惕。

于 2009-03-10T14:21:45.873 回答
0

如果您想将 .xcf 图像批量转换为 .png,您可能会发现此包装脚本更有用:

#! /bin/bash -peux
exec xcf2png $1 -o ${1%.xcf}.png

将它保存在 PATH 中的某个位置xcftopng(注意to不是2)并像这样调用它:

ls *.xcf|xargs -l xcftopng
于 2014-08-15T19:47:49.653 回答
0

猛击单线器。只需要转换(通常已经从 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
于 2022-02-08T16:36:15.353 回答