2009-03-10 3 views
16

XCFファイル(またはGimpでサポートされている他のファイル)を持っている場合、表示や処理のためにたとえばPNGに変換するにはどうすればいいですか?いずれの場合GIMPでコマンドラインを使ってXCFや他のファイルを変換していますか?

+1

ImageMagickではなく、GIMPを使ってこれを行う方法を知りたいのであれば、[この質問]を見てください(http://stackoverflow.com/questions/5794640/how-to-convert -xcf-to-png-gimp-from-the-command-line)を使用します。 –

+0

@Laurence Gonsalves、ありがとう!これは私が元々探していたものです! –

答えて

26

私は近年のカップルだけど、私は私がこれまでで最高のソリューションと思われるものを追加しようと思いました:xcf2pngと呼ばれるユーティリティを持っている(Ubuntuの、apt-get install xcftools上)Xcftoolsと呼ばれるツールスイートは、そこにありますそれはこの仕事を完璧にしてくれます。

xcf2png image.xcf -o image.png 

これは、A)Iは、上記ひどく破壊されたコメントで述べたようにImageMagickの()を使用して、またはb)単に画像をエクスポートするための非常に複雑なスクリプト言語を有するGimpの()を使用するよりもはるかに優れています。

5

私は、非常に少数のImageMagick

convert image.xcf image.png 
+0

私の経験から、ImageMagickの現在のバージョンは、XCFのための非常にバグのサポートを持っています。様々な層サイズは結果として生じる画像を完全に黒色にする。私はまた、アルファチャンネルのバグを経験しています(どこからも出てこない固体ピクセル)。 –

+0

ええ、ImageMagickのXCFサポートは大きく壊れています。 gimp自体を使用する方が良い選択肢になります。 –

+2

これは私にとってはまったく機能しませんでした。レイヤーを別々の画像としてエクスポートしたいのではないかと思われますが(レイヤーごとに名前-png、名前-1pngを作成しました)、最初の2つのレイヤーしか抽出せず、アルファをバイナリに変更しました。ですから、私はむしろGIMPを使いたいと思います。ちょうど私の人生のために書くことがLispのコードを理解することはできません... – mgiuca

2

をあなたがやりたいこと(およびそれ以上)必要がありますね、GIMP以外のプログラムは、XCFファイルを読み込みます。これはGIMP開発者の設計によるもので、フォーマットは実際に文書化されておらず、一般的なファイル形式としてサポートされていません。

つまり、コマンドライン引数(特に--batchオプション)を使用してGIMP自体を調べます。

EDIT:It looks ImageMagickがXCFをサポートしているかのように、サポートが十分に良いと思われる場合は、おそらく簡単なルートです。私はそれをテストしていないし、ドキュメントはあまり言わない。私はちょっと気になるだろう。

+0

imagemagickの変換作品のように見えます。私はGIMPを使うほうがいいでしょう。確かに独自のフォーマットをサポートしていて、他のフォーマットもサポートしています。私はシェルからGIMPを探してみましたが、それは少し直感的ではありません。おそらく、GIMPでの変換やドキュメントとのリンクで、1つまたは2つの例をドロップできますか? –

0

あなたはバルクにしたい場合は、このラッパースクリプトがより便利かもしれない、.pngのために.XCF画像を変換:

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

xcftopngようにPATHのどこかにそれを保存します(代わりに2toに注意してください)と、そのように呼び出す:

ls *.xcf|xargs -l xcftopng 
3

非常に良い解決策(および説明!)はhereで見つけることができます。一言で言えば、bimpスクリプトがgimpに与えるスキーム/ 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 - 

完全な話はページを見てください。価値があります。

関連する問題