個人用メモ - Gimpのscript-fuの作成方法

参考になるページ

サンプルがたくさんあるページ

Gimp2を使おう
いろんなスクリプトをひとまとめにまとめたファイルがあるので、一気にscript-fuを増やせます。
Gimp Scripts
Gimp Scripts
Télécharger mes script-fu pour Gimp



GimpのScript-Fuとは?

Gimpの作業を自動化できるスクリプト言語です。
Gimpの動作の関数がたくさんあるので、
いつもやる動作などを書いておくと楽かも?

Script-Fuの使い方!

以下のディレクトリにプログラム(拡張子.scmのファイル)を置きます。

※Gimpのバージョンにより、若干文法が違うことがあるので、注意してください。
ローカルフォルダ/.gimp/scripts/

Script-Fuの作り方!

テキストエディタでScheme の文法で、プログラムを書き、拡張子を.scmにして保存します。

以下のディレクトリにプログラムを置きます。

ローカルフォルダ/.gimp/scripts/

Gimpを再起動するもしくは、フィルタ>Script-Fu>スクリプトの再読み込みを押し、読み込みます。

Schemeの文法概説

括弧()でひとまとまりにまとめながら書く言語です。

最低一つは関数を作ります。

(define (関数名 引数)
処理
)

どれか一つの関数をscript-fu-registerでGimpに登録します。

このscript-fu-registeの引数は、
スクリプト名作者名などの必須部分
実行する関数の引数や入力に使うダイアログボックスについて指定する
引数部分は以下の引数がある
# SF-COLOR RGBカラー
# SF-TOGGLE 真、偽値
# SF-IMAGE 画像
# SF-DRAWABLE
# SF-VALUE 数値やテキスト等

(script-fu-register
    "gomikeshi"                  ;スクリプト名=関数名
    "<Image>/Script-Fu/Photo/GOMIKESHI"    ;ゴミ消し
    "gomikeshi effect"               ;このスクリプトの説明
    "cyousemi"                        ;作者
    "copyright 2009,cyousemi"        ;コピーライト
    "Aug 22, 2009"                         ;作成日
    "RGB*, GRAY*"              ;取り扱える画像の種類 ※ここまでは必須↑x
    SF-IMAGE      "Image"     0 ;現在表示されている画像を指定
    SF-DRAWABLE   "Drawable"  0 ;
);end of register

トーンカーブで線を黒くするスクリプト

(define (gomikeshi image drawable );gomikeshi関数始まり

(let* (
	(v_point 0);(let*( (変数名 値) 処理)で変数名を指定して処理を書く。
)
    (set! v_point (cons-array 8 'byte))
    (set-pt v_point 0 0 0); set-pt関数を呼び出して、v_pointに値を指定
    (set-pt v_point 1 182 0)
    (set-pt v_point 2 216 220)
    (set-pt v_point 3 255 255)
    (gimp-curves-spline drawable HISTOGRAM-VALUE 8 v_point);トーンカーブにポイントを指定
);end of let
     (gimp-displays-flush);最後に画像
     (gimp-image-undo-enable image);よくわからない。他のスクリプトにも入っているので、Undo処理開始とある、ので。

);end of define

(define
   (set-pt a index x y);set-pt関数の始まり
   (begin
      (aset a (* index 2) x)
      (aset a (+ (* index 2) 1) y)
  )
);end of define


(script-fu-register
    "gomikeshi"                  ;スクリプト名
    "<Image>/Script-Fu/Photo/GOMIKESHI"    ;ゴミ消し
    "gomikeshi effect"               ;このスクリプトの説明
    "cyousemi"                        ;作者
    "copyright 2009,cyousemi"        ;コピーライト
    "Aug 22, 2009"                         ;作成日
    "RGB*, GRAY*"
    SF-IMAGE      "Image"     0
    SF-DRAWABLE   "Drawable"  0
);end of register