2

以下は、私が書こうとしているより大きな Script-fu スクリプトの一部です。

開いている .xcf ファイルを複製して、ユーザーが指定したサイズにスケーリングしようとすると、問題が発生しました。

以下は私がうまくいくものです:

(define (my-duplicate-and-scale inImage inDrawable inWidth inHeight)
    (let* ((theDuplicateImage (gimp-image-duplicate inImage)))

        (gimp-image-scale theDuplicateImage inWidth inHeight)
    )
)

(script-fu-register
    "my-duplicate-and-scale"   ;func name
    "Duplicate and Scale ..."  ;menu label
    ""                         ;description
    ""                         ;author
    ""                         ;copyright notice
    ""                         ;date created
    "*"                        ;image type that the script works on
    SF-IMAGE    "Image"    0
    SF-DRAWABLE "Drawable" 0
    SF-VALUE    "Width"    "512"
    SF-VALUE    "Height"   "512"
)

(script-fu-menu-register "my-duplicate-and-scale" "<Image>/File/My")

関数を実行すると、次のエラーが表示されます。

Error while executing my-duplicate-and-scale:

Error: ( : 2) Invalid type for argument 1 to gimp-image-scale 

プロシージャ ブラウザによると、gimp-image-duplicateが返さIMAGEれ、最初のパラメータgimp-image-scaleIMAGEです。

4

1 に答える 1

3

このコードを試してください:

交換:

(let* ((theDuplicateImage (gimp-image-duplicate inImage)))

と:

(let* ((theDuplicateImage (car (gimp-image-duplicate inImage))))
于 2013-01-11T10:20:43.263 に答える