2

スプライト ファイルの作成に使用する 20 以上のレイヤーを含む .xcf ファイルがあります。

これらすべてのレイヤーを、各レイヤーのコンテンツとサイズのみを含む個別のファイルに保存したいと思います。

gimp 用のこのスクリプトを見つけました: https://github.com/jiilee/gimp

残念ながら、そのスクリプトは、各レイヤーのサイズではなく、画像のフルサイズでファイルを作成します。

例を挙げると、幅 700 ピクセル、高さ 400 ピクセルの画像です。レイヤーは、x: 100px、y: 29px、幅: 72px、高さ: 21px に配置されます。私が見つけたスクリプトは、700px x 400px のファイルを作成しますが、72px x 21px は必要ありません。

これを自動的に行うことは可能ですか?

4

1 に答える 1

7

はい。ただし、この場合、script-fu ではなく Python をスクリプト言語として使用することをお勧めします。このような場合、プラグインさえ必要ありません。filters->python-fu->console で次のように入力するだけです。

>>> img = gimp.image_list()[0]
>>> img.layers[0].name
'C'
>>> folder = "/tmp/"
>>> for layer in img.layers:
...   name = folder + layer.name + ".png"
...   pdb.gimp_file_save(img, layer, name, name)
... 
>>> 

終わり!このスニペットは、GIMP で開いている単一の画像を想定しています (デフォルトでは、リスト内の最後に開いている画像に[0].)

画像をエクスポートする呼び出しは、ドローアブル (レイヤー、マスク、またはその他のアイテム) を入力として受け取り、デフォルトのパラメーターを使用して、ファイル名拡張子からタイプを推測してファイルを保存します。

そしてもちろん、ファイルのより複雑な命名スキームを作成するなどして、これを改善することができます。このコアを自動化された動作する python-fu プラグインにするには、個人用プラグイン ディレクトリの .py ファイルで関数内に配置するだけです。(Unix/Mac OS/Linux の場合は、実行可能ファイルとしても設定する必要があります) - 同じファイルで GIMP-fu の登録機能とメイン機能を呼び出します - ここで例を挙げてください: http://wwwファイルを整理してこれらの呼び出しを行う方法については、.ibm.com/developerworks/opensource/library/os-autogimp/を参照してください。(リスト 6 に直行できます)。

于 2013-12-11T22:20:19.487 に答える