修复 "Procedure execution of ... failed on invalid input arguments" 错误
Fix "Procedure execution of ... failed on invalid input arguments" error
我一直在尝试为 GIMP 2.6+ 编写一个 script-fu 脚本,它使用一种内置的 script-fu 方法,即 script-fu-add-bevel
方法。我的问题是,每当我在控制台或脚本中调用它时,我都会得到:
Error: Procedure execution of gimp-drawable-type-with-alpha failed on invalid input
arguments: Procedure 'gimp-drawable-type-with-alpha' has been called with an
invalid ID for argument 'drawable'. Most likely a plug-in is trying to work on a layer that
doesn't exist any longer.
这真的很奇怪,因为我可以通过使用我的图像 ID 作为参数调用 gimp-image-get-active-drawable
清楚地看到我传递给 script-fu 方法的层 ID 存在。脚本在调用 gimp-drawable-type-with-alpha
时出错,但我可以在控制台中使用相同的 ID 调用此方法而不会出错。我该如何解决这个问题?
从this forum post,我了解到在调用script-fu 方法时,您不应该 传入run-mode
参数。这是在幕后完成的,如果您为该值传递任何内容,它将被解释为第二个参数!这意味着您发送的每个参数都将被关闭一个参数,脚本崩溃只是时间问题。
所以从另一个 script-fu 调用 script-fu-add-bevel
看起来像这样:
(script-fu-add-bevel img layer bevel-width FALSE FALSE)
我一直在尝试为 GIMP 2.6+ 编写一个 script-fu 脚本,它使用一种内置的 script-fu 方法,即 script-fu-add-bevel
方法。我的问题是,每当我在控制台或脚本中调用它时,我都会得到:
Error: Procedure execution of gimp-drawable-type-with-alpha failed on invalid input
arguments: Procedure 'gimp-drawable-type-with-alpha' has been called with an
invalid ID for argument 'drawable'. Most likely a plug-in is trying to work on a layer that
doesn't exist any longer.
这真的很奇怪,因为我可以通过使用我的图像 ID 作为参数调用 gimp-image-get-active-drawable
清楚地看到我传递给 script-fu 方法的层 ID 存在。脚本在调用 gimp-drawable-type-with-alpha
时出错,但我可以在控制台中使用相同的 ID 调用此方法而不会出错。我该如何解决这个问题?
从this forum post,我了解到在调用script-fu 方法时,您不应该 传入run-mode
参数。这是在幕后完成的,如果您为该值传递任何内容,它将被解释为第二个参数!这意味着您发送的每个参数都将被关闭一个参数,脚本崩溃只是时间问题。
所以从另一个 script-fu 调用 script-fu-add-bevel
看起来像这样:
(script-fu-add-bevel img layer bevel-width FALSE FALSE)