自分の画像編集作業用に、GIMP用の可視レイヤーを直接ファイルにエクスポートするプラグインを作ってみました。レイヤー編集を頻繁に行う方には結構便利だと思いますのでこれも公開します。
GIMPで編集中の可視レイヤーを xcf 形式以外の形式で出力する場合、一旦画像ファイルを統合してからエクスポートを掛けなくてはいけません。しかし、再編集する可能性がある場合、ファイルを1枚のレイヤーに統合してしまうと困る場合もあります。
そこで、レイヤーの可視部分を統合したイメージを別の画像としてコピーし、それを別形式のファイルにエクスポートするプラグインを作成しました。元画像には手を加えません。ファイルはこちらからダウンロードしてください。
このファイルをダウンロードして解凍したら、GIMPのプラグインフォルダにコピーしてください。Windowsの場合は、次のフォルダにコピーしてください(Ver. 2.10の場合)。他のプラットフォームやバージョンが異なる方、デフォルトの設定を変更している方の場合、プラグインを置くフォルダーは、メニュー→[編集]→[設定]→[フォルダー]→[プラグイン]で確認できます。あるいはネットで検索してみてください。
C:\Users\%username%\AppData\Roaming\GIMP\2.10\plug-ins
(特定のユーザのみ使えるようにする場合)
または、
C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins
(どのユーザでも使えるようにする場合)
ファイルは2本あり、1本は、実行するといきなりTIFFファイルに出力するもの、もう一本は実行すると保存するファイル名を聞いてきますので、そこで指定された拡張子に応じて変換して出力します。いきなりTIFFに出力するプラグインは、元のファイル名に "_visible.tif" を付加したファイル名で出力します。また無条件にdeflateで圧縮して保存します。すでに同名のファイル名があるばあいはそのまま上書きしますので注意してください。
また、プラグイン実行後可視レイヤーを統合した画像をそのまま出力後もGIMP内で表示させておきたい場合は、ファイル名をつけて出力するプラグインを選んでください。すると画像を保持するか、しないかを選ぶダイアログが出て、そこで指定することができます。なお、こちらの方は、TIFFを圧縮して保存することはできません。というのは、TIFFでいきなり保存プラグインは file_tiff_save() というプロシジャーをつかっており、TIFF保存の際のオプションを指定できるのに対し、名前を付けて保存プラグインの方は、gimp_file_save() を使っていますが、こちらは保存の際のオプションを指定できません。
※この点は改善し、TIFFであればこちらも無条件にDeflateで保存するようにしました。
これ以外に、GIMP2.8以降に gimp_export_image() というプロシジャーも準備されているようです。これだと、エクスポートの際にいろいろ指定できそうなのですが、こちらは Python-fu からアクセスできません*1。Python-fu からはアクセスできないAPIも結構あるということです。
プラグインは、上図のように、GIMPのメニュー→[ファイル]のエクスポートの下に、[可視レイヤーのエクスポート]という名前のメニューで出てきます。
------------
ところで、ふと気づきましたが、GIMPの使い勝手がいまいちなところはこのような簡単なプラグインを作っていけばかなり改善されるのではないでしょうか? コードもそんなに長いわけではありませんので。というわけで、始めませんか、GIMPを便利に! プロジェクト。
*1:以下の議論を参照。