2015年1月12日月曜日

GIMP Script-Fu (2) 雛形と進め方

2回目のテーマは、GIMP Script-Fu での 雛形の作成 と 記述の進め方です。
他の方の Script に手を入れる場合は除外して、
1から書き進める場合には、 Script の雛形があると便利です。
また、書いて行く場合の調べ方 進め方にも 触れて置きます。


こんな雛形は如何でしょうか。          (コメント 行末のものはエディタで空白数や Tab 数を調整して下さい)
;関数(関数名・引数・処理)

(define (script-fu-test-script-format
  ;引数
  )
  ;処理
)


;登録

(script-fu-register
  "script-fu-test-script-format"                   ;func name
  "Script-Format"                                      ;menu label
  "Script-Fu 雛形"                                       ;description
  "ShiroYuki_Mot"                                          ;author
  "(c) 2019- ShiroYuki_Mot"                            ;copyright notice
  "2019/07/05"                                              ;date created
  ""                                                                ;image type on the script
  ;パラメータ
)
(script-fu-register "script-fu-test-script-format"
                          "<Image>/Script-Fu/Test")


勿論、履歴をソースコードに埋めたり、特記事項をコメントで追加したり と加工して下さい。


また、直ぐに使える様に、スクリプトのファイルも公開します。 *1.
  Encording:UTF-8N  Lines:21  Size:472 B (472 B)  Script-Fu (Lang.Jp) OLD!
  以下のリンクから、ダウンロードが可能ですが、
  表示の時点で拡張子の問題から エラー と表示されます。  しかし、ファイル自体に問題はありません。
  圧縮はしていないので、そのまま、既定のフォルダに投げ入れて下さい。

         https://drive.google.com/file/d/0B2GanJNrLNVxc1ozd05oY2x5X0k/view?usp=sharingusp=sharing  *1 注 旧ファイル.

  Encording:UTF-8N  Lines:24  Size:565 B (565 B)  Script-Fu (Lang.Jp)  GIMP 3 対応版

https://drive.google.com/file/d/1qm3-ItCt7zqL-EZVwixwDyfObGpSnmpK/view?usp=sharing



さて、少し、解説。

文字コードは、UTF-8N で保存 です。
コードは、必ず、 関数の定義と 関数の登録との 対 で記述されます。
どう言う処理をさせるかと、 どこから呼び出し どんな内容かと、 を書く訳です。
前者は、特に、括弧だらけになりますので、その閉じ忘れに注意です。
後者の一番最後の右括弧も落とし易いので注意して下さい。
改行後の 冒頭の 半角スペースは 必須ですので、削除しないで下さい。
コメントは ; (半角;) で 始まり、行末の改行迄が、処理に関係ない コメント として扱われます。  行の途中からの記述も OK です。
登録の3行目、 menu label は Script-Fu の メニューラベルの下に階層的に作るのが お勧め です。
<Image>/Script-Fu/自分用/テスト#123 <Image>/Script-Fu/自分用/何とか処理  等として、既成のものと区別するのが いい みたいです。

   前回   GIMP Script-Fu (1) 書き出す前に  も、ご参照下さい。



さて、処理ですが。
既に登録されている 関数 を組み合わせながら、書いて行く事になるので、 関数 を調べなければなりません。
GIMP のメニューバーの最後の ヘルプ(H) の中にある、
  プラグインブラウザ(P) と プロシージャブラウザ(B) とを 使って行きます。
名称は既登録と重複出来ませんし、プロシージャ(関数)を使うには 引数と戻り値を調べなければいけません。
尚、Script-Fu の Script 名称は script-fu- で始める お約束になっています。  守っておいた方が無難。.
これは、 両ブラウザを閲覧すれば、良く分ると思います。



そして、Script-Fu は、インタープリータ(順次翻訳実行)形式ですから、
フィルタ(R) > Script-Fu(S) > の中にある、
  Script-Fu コンソール(C) を使って、少しずつ、試して見る事になります。

どの様なパラメータを受け入れて、どの様な値が帰って来るのかを実際に見て行きます。



下調べや手段が分ったら、 エディタを使って、実際に記述して、ファイルを作ります。
ファイルの保管場所は、 悩む所です。
実際に、スクリプトを動かすには、 既定の場所、 C:¥Users\UserName\.gimp-2.x\scripts がお勧めですが、
いきなり、このフォルダでスクリプトを書き始めるのは、如何なものでしょうか。
ちゃんと動けばまだしも、試行錯誤が付き物ですから。  最悪、このファイルのせいで、GIMP が可笑しくなる場合もあります。.

そこで、お勧めは、 GIMP を閉じる時に、この作業中のファイルを別フォルダに移動させて仕舞う事 です。
フォルダの下に Debug と Release との2つのサブフォルダを用意し、
校正中は Debug に、 完成した暁には Release にも保存します。

スクリプト中の定義と登録と では 名称の不一致は拙いですが、 ファイル名は 関数名と同一である必要はありません。
そこで、上の例であれば、ファイル名を TestScriptFormat_100.scm 等として、履歴が分る様にしても いい です。
xxx_100 は ver 1.0.0 の意味合いです。  試行錯誤中は xxx_012a 等として区別する手もありますね。
兎も角、ご自分でルールを決めて措きましょう。

そう、スクリプトを試すには、 メニューバーの
                   フィルタ(R) > Script-Fu(S) > スクリプトリを再読み込み(R)
です。  ちゃんと、既定のフォルダに収めてから ですけれど。.



[2015/02/06] ファイル公開  *1.
[2016/03/09] 続編  を投稿  GIMP Script-Fu (9) 進め方 続編
[2019/07/05] GIMP 3.0 で (script-fu-register ... ) がメニューパス付を受け付けない事を反映 *2.
                        ソースコード訂正 ファイルリンク先も訂正

0 件のコメント:

コメントを投稿