2006年11月07日

 キャンバス作成




入力した幅と同じ高さを持った、現在の背景色で塗ったキャンバスを作成します


  1. imgWidth x imgWidth の画像を作成して img にハンドルをセット
  2. img に 所属するレイヤーを作成して、layer にハンドルをセット
  3. layer を背景色で塗る
  4. img に layer を 先頭に実装
  5. img を表示


  1. 処理は ( と ) で囲まれます
  2. define は、【関数】で、script-fu-lightbox-01 は、【関数名】です
  3. imgWidth は【引数】です
  4. script-fu-register は、【画面の設定】で、"script-fu-lightbox-01" を呼び出します
  5. その際、SF-ADJUSTMENT の【値】が渡されます
  6. let* は、ローカル変数の定義と処理を同時に書く方法ですが、結果的に【関数の実体】です
  7. let* の次の階層の ( 〜 ) で、ローカル変数の定義とその初期値を設定します
  8. gimp-.... は、gimp の関数です。DBブラウザで仕様を見る事ができます

(define
	(script-fu-lightbox-01
		imgWidth
	)
	(let*
		(
			(img (car (gimp-image-new
				imgWidth
				imgWidth
				RGB
			)))
			(layer (car (gimp-layer-new
				img
				imgWidth
				imgWidth
				RGB-IMAGE
				"base"
				100
				NORMAL-MODE
			)))
		)
		(gimp-drawable-fill layer BG-IMAGE-FILL)
		(gimp-image-add-layer img layer 0)
		(gimp-display-new img)
	)
)

(script-fu-register "script-fu-lightbox-01"
	"<Toolbox>/Xtns/Script-Fu/lightbox/sample 01..."
	""
	"lightbox"
	"lightbox"
	"2006"
	""
	SF-ADJUSTMENT "Width" '(256 16 1024 1 10 0 1)
)

SF-ADJUSTMENT
1) 表示文字列
2) デフォルト表示値
3) 最小値
4) 最大値
5) 小さな増分
6) 大きな増分
7) [整数=0 or 浮動=1]
8) [スライダー=0 or ロールボックス=1]