GIMP の基本的なスクリプトを作成しようとしていますが、正しく動作しないようです。選択を行った後、次の順序に従う必要があります: アクティブ レイヤーを下げ、選択範囲を 2px 拡張し、前景色で塗りつぶし、アクティブ レイヤーを上げます。最終製品は、最上層の私の線の下に無地になるはずです. しかし、私が書いたコードでは、アクティブなレイヤーをジャンプしますが、下のレイヤーではなく、一番上のレイヤーで塗りつぶします。ここに私が持っているコードがあります:
(define (quick-fill image drawable)
(gimp-undo-push-group-start image)
(let* ((layer (car (gimp-image-get-active-layer image))))
(gimp-selection-grow image 2)
(gimp-image-set-active-layer image (aref (cadr (gimp-image-get-layers image)) 1))
(gimp-bucket-fill drawable FG-BUCKET-FILL NORMAL-MODE 100 0 FALSE 0 0)
(gimp-image-set-active-layer image (aref (cadr (gimp-image-get-layers image)) 0)))
(gimp-undo-push-group-end image)
(gimp-displays-flush))