GIMP Home
入手方法
気づいたことなど
おまけ
素材集
使えるプラグイン
プラグイン詳細
script-fuリンク集
更新記録
 
ロゴ1
ロゴ2
その他1
その他2
使えるscript-fu
使えるscript-fu2
使えるscript-fu3
使えるscript-fu4
script-fu構文
エラー!
バージョン別比較
 
作品
 
 
ホーム


script-fuに関するエラーについて

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

GIMP

kikidide@gmail.com