|
script-fuに関するエラーについて
どのような場合にエラーが出るか。
- 存在しないレイヤーに対して作業を行おうとした場合。
- 例
- (gimp-image-merge-visible-layers img 0)
- :
- (gimp-layer-resize layer1 width height 0 0)
- この場合、layer1が可視状態なら統合されて存在しないのでエラーになる。
- 誤った変数を使用した場合。
- 例
- (gimp-message a)
- もしaとメッセージを出したいのなら"a"、変数aの内容を示したいのなら(number->string a)としなければならない。
- pluginで使える数値の範囲を超えた数値を指定した場合。
- GIMP2.0以降の場合、(gimp-image-add-layer img layer1 0)の命令文の前にレイヤー加工の指示を出した場合
(GIMP1.2では通用する)。
- 宣言していない変数を使用した場合。
- 例
- (gimp-layer-resize layer1 tate yoko 0 0)
- layer1、tate、yokoはそれぞれ最初に設定しなければならない。
- 設定法は
- (let* (
- (yoko (car (gimp-drawable-width drawable)))
- (tate (car (gimp-drawable-height drawable)))
- (layer1 (car (gimp-layer-new img width height RGB_IMAGE "Background" 100 NORMAL)))
- )
- :
- :
- )
- こんな感じ。
- 括弧が閉じていない。これが一番多いかも。ちなみに括弧が多ければ宣言したはずの変数でエラーになり、
少なければscript-fuメニューに名前が出てこない。
- 指定した変数が少ない。エラーメッセージは「too few arguments」。プラグインの変数が少なくてもエラーになる。
- 文法が間違っている。エラーメッセージは「bad function」。
- 例
- (if (= a 0) set! (a 1))
-
- 正しくは
- (if (= a 0) (set! a 1))
|
|
|