0

Gimp GUIでは、QuickMaskは多くのことに非常に役立ちますが、この機能はscript-fuから直接利用できるようには見えません。プロシージャブラウザでは、明らかな同等物はありませんでした。

特に、レイヤーの(値/グレー)ピクセルを選択マスクに入れることは、私がしなければならない基本的なことです。gimp-image-get-selectionを使用して選択チャネルのID番号を取得し、それをgimp-edit-pasteしようとしましたが、次のアンカー操作によりGimpがクラッシュしました。

4

2 に答える 2

1

私の他の答えにはそれを行う「理論的」方法が含まれていますが、OPはバージョン2.6.5の時点で、その答えへのコメントに見られるように、GIMPにバグを発見しました。

OPが意図する回避策があります。特定の画像レイヤーのコンテンツを画像選択に貼り付けます。示されているように、選択ドローアブルでedit-copy-> edit-pasteを実行すると、プログラムがクラッシュします。

回避策は、コピーアンドペースト方式で目的のコンテンツを含む新しい画像チャネルを作成し、gimp-selection-loadを使用して選択をチャネルコンテンツと等しくすることです。

したがって、呼び出す必要のある関数は次のとおりです(すべての括弧に習熟していないため、スキームコードを貼り付けません-GIMPのPythonコンソールを使用してテストを行いました)。

>>> img = gimp.image_list()[0]
>>> ch = pdb.gimp_channel_new(img, img.width, img.height, "bla", 0, (0,0,0))
>>> ch
<gimp.Channel 'bla'>
>>> pdb.gimp_edit_copy(img.layers[0])
1
>>> pdb.gimp_image_add_channel(img, ch, 0)
>>> fl = pdb.gimp_edit_paste(ch, 0)
>    >> fl
<gimp.Layer 'Pasted Layer'>
>>> pdb.gimp_floating_sel_anchor(fl)
>>> pdb.gimp_selection_load(ch)
于 2011-12-15T00:37:30.940 に答える
0

ユーザーインターフェイスからQuickMaskを使用することは、選択範囲を描画可能なオブジェクトとして扱い、選択範囲に描画することとまったく同じです。

したがって、script-fuで「quickmask」に相当するものを使用するには、Selectionをドローアブルとして取得し、それを変更する呼び出しにパラメーターとして渡すだけです。そして、selectionを取得するには、次のことを行う必要があります。 'gimp-image-get-selection'を呼び出す

于 2011-12-14T14:30:02.317 に答える