mieki256's diary



2015/02/14() [n年前の日記]

#3 [cg_tools] GIMPのScript-fuコンソール上で実験する時のアレコレをメモ

GIMPのスクリプト ―― Script-fuを書く際に、Script-fuコンソールを立ち上げて、どのコマンド(?)がどんな動きをするか確認する時があるのですけど。その確認手順を忘れてしまってググり直したりしたので、一応少しだけメモ。
コマンド名は、ある程度、規則に従って決められてる。 他にも命名規則がありそう。

コマンドの中には、パラメーター・引数として、
image     IMAGE    The image
を要求するものがあるけれど、これは画像IDを指定する。画像IDってのは、現在 GIMP で開いてる画像の一つ一つに割り当てられた管理(?)番号。

画像IDの他に、レイヤーIDも存在する。レイヤーの一つ一つに番号が割り当てられてる。レイヤーに対して何かしたいときは、レイヤーIDを指定して、「このレイヤーIDのレイヤーに○○をせよ」と命令していく、みたいな。

実践。 :

例えば、今現在、GIMP で画像を1枚だけ開いてるとする。レイヤーは4枚ほど持ってる。

今現在 GIMP で開いてる画像の枚数と、画像IDの一覧を取得したい。画像に対する処理だから、名前に image が入ってそう。Script-fuプロシージャブラウザーに、「image」と打って検索してみる。

(gimp-image-list) てのがあった。これじゃないかな。

Script-fuプロシージャブラウザーで、gimp-image-list を選んで「適用」ボタンを押す。 Script-fuコンソールの入力欄に、(gimp-image-list) とコピペされた。入力欄にカーソルを合わせてから、Enterキーを押してみる。下のような結果が得られた。
> (gimp-image-list)
(1 #(1))
最初の「1」が画像枚数。次の「#(1)」が画像IDの一覧。今、GIMPは、画像ID = 1 の画像を1枚だけ開いていますよ、と分かる。

毎回コマンドを確認するたびに画像IDを打ち込み直すのは面倒なので、グローバル変数 image に画像IDを指定しておく。コンソールの入力欄に、(define image 1) と打ち込んでEnter。
> (define image 1)
image
これで、image というグローバル変数に、1を代入できた。

レイヤーの一覧を取得したい。たくさんのレイヤーに対するソレだから、名前に layers が入ってそう。検索してみる。

(gimp-image-get-layers image) てのが、なんだかソレっぽいな。
> (gimp-image-get-layers image)
(4 #(5 4 3 2))
レイヤーが4枚あって、レイヤーID?が、2〜5まで割り当てられてるよ、と分かる。

レイヤー名を取得したい。取得するのは、たぶん「get」だろう。「get」で検索してみる。

(gimp-layer-get-name item) が、いかにもそれっぽい。
> (gimp-layer-get-name 5)
("レイヤー #2")
> (gimp-layer-get-name 4)
("レイヤー #1")
> (gimp-layer-get-name 3)
("レイヤー")
> (gimp-layer-get-name 2)
("背景")
レイヤー名が取得できた。

どうやら、名前を取得するコマンドは、「get-name」とついてるっぽい。検索したら、画像名だのレイヤー名だのを取得するコマンドが表示された。

レイヤー名を変更してみる。レイヤーに関する処理だから、layer ってついてそう。あるいは、取得じゃなくて指定だから、get の反対、set ってついてそう。検索。

(gimp-layer-set-name item name) じゃないかな。item にはレイヤーIDを、name には変更レイヤー名を指定する。
> (gimp-layer-set-name 5 "hogefuga")
(#t)
レイヤーID = 5 のレイヤー名を、「hogefuga」にしてみた。処理が成功したので「(#t)」が返ってきた。GIMPウインドウ内を眺めると、一番上のレイヤーの名前が「hogefuga」になってる。たしかにレイヤー名を変更できた。

と、そんな感じで、「たぶん getナントカじゃねえかなあ」「おそらく layerナントカっぽいな」と想像しながら検索欄に打ち込んでみて、リストアップされたコマンドを眺めて「たぶんコレだろ」と当たりをつけて、そのコマンドの動作を確認しながら Script-fu を書いてたりしますですよ。とメモ。

そのうちまた忘れそう。頻繁に Script-fu を書いてるわけでもないし。

この記事へのツッコミ

Re: GIMPのScript-fuコンソール上で実験する時のアレコレをメモ by 名無しさん    2015/08/15 22:21
本当に助かります、有難うございました!
Re: GIMPのScript-fuコンソール上で実験する時のアレコレをメモ by JUN    2018/01/22 14:07
入り口の敷居が跨げずに四苦八苦して投げ出そうかと思っていたところです。
次へ進むことが出来て感謝します。

以上です。

過去ログ表示

Prev - 2015/02 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project