GIMP Script-Fu: "Error: <: argument 1 must be: number"
GIMP Script-Fu: "Error: <: argument 1 must be: number"
我在编写应用投影的 GIMP 脚本时遇到问题。所以这就是当您从控制台中拉出脚本时的样子:
(script-fu-drop-shadow run-mode image drawable value value value color value toggle)
这些是我输入的值:
(script-fu-drop-shadow 1 image layer 0 0 3 '(115.9 200.9 245.1) 1 0)
当我尝试 运行 它时,出现以下错误:
Execution error for 'MUA Portrait Outline - Blue Glow':
Error: <: argument 1 must be: number
我想我并没有真正理解我需要输入的所有值。
run-mode
很简单,因为它说要使用 1 或 0。
- 根据我之前尝试过的脚本,我很确定我将
image
保留为 image
,因为它仅用于当前图像。
- 我不太确定
drawable
是什么,但我读到可绘制对象包含图层,所以我放了 layer
。不确定这是否准确。
- 接下来的 3 个
value
变量用于 x 偏移量、y 偏移量和模糊半径。直截了当。
- 我不太确定我输入的
color
是否正确,因为我从来没有真正使用过要求颜色的脚本,但我认为我只是根据一些研究输入正确在线完成。
- 最后一个
value
变量也很简单,因为它是阴影的不透明度。
- 我不知道要为
toggle
设置什么。它说它为此接受 INT32
,所以我想我应该只输入 0。我尝试进行一些在线研究,但找不到任何东西
如有任何帮助,我们将不胜感激!我不精通 Script-fu。我在这里和那里尝试了一些东西,但我不太了解正式的东西。请尽可能简单地解释事情:)
如果您删除 run-mode
参数,它会起作用。
(script-fu-drop-shadow 1 3 3 3 3 '(115 200 245) 50 0)
不要问我为什么,我的脚本是在Python :)
就此而言,该脚本中的大部分代码都在处理交互使用时最有意义的事情。在大多数情况下,您的代码可以通过选择 alpha、添加图层、填充选区、模糊它和调整偏移量来完成。
你必须找到当前图像和当前可绘制对象的数量(如果你正在处理多个图像,这些不必是 1
和 3
),然后调用它而不用 run-mode
:
> (gimp-image-list)
(1 #(1)) <-- All images, current image is one number from vector #(1)
> (gimp-image-get-active-drawable 1)
(3) <-- Current drawable of current image
> (script-fu-drop-shadow 1 3 0 0 20 '(255 0 0) 100 0)
(#t)
如果您不知道某些参数的含义,您可以查看 Procedure Browser
(Help → Procedure Browser
)- toggle
参数是 允许调整大小,您也可以使用 TRUE
或 FALSE
作为值,因为它们的计算结果分别为 1
或 0
。
编辑:如果你想运行将其作为 .scm 脚本,请按照下列步骤操作:
- .scm 文件应如下所示:
(define (script-fu-my-script image drawable)
(script-fu-drop-shadow image drawable 0 0 20 '(255 0 0) 100 0))
(script-fu-register "script-fu-my-script"
_"Add _Drop _Shadow..."
_"Add drop shadow"
"Author's name"
"Author's name"
"12/9/21"
"*"
SF-IMAGE "Input image" 0
SF-DRAWABLE "Input drawable" 0)
(script-fu-menu-register "script-fu-my-script"
"<Image>/My_Scripts/Drop")
- 为您的脚本找到正确的文件夹:
Edit -> Preferences -> Folders -> Scripts
并将您的 .scm 文件移动到这些文件夹中的一个。
- 重新启动 GIMP 或刷新您的脚本:
Filters -> Script-Fu -> Refresh Scripts
- 右击图片,
My Scripts -> Drop -> Add Drop Shadow
。
我在编写应用投影的 GIMP 脚本时遇到问题。所以这就是当您从控制台中拉出脚本时的样子:
(script-fu-drop-shadow run-mode image drawable value value value color value toggle)
这些是我输入的值:
(script-fu-drop-shadow 1 image layer 0 0 3 '(115.9 200.9 245.1) 1 0)
当我尝试 运行 它时,出现以下错误:
Execution error for 'MUA Portrait Outline - Blue Glow':
Error: <: argument 1 must be: number
我想我并没有真正理解我需要输入的所有值。
run-mode
很简单,因为它说要使用 1 或 0。- 根据我之前尝试过的脚本,我很确定我将
image
保留为image
,因为它仅用于当前图像。 - 我不太确定
drawable
是什么,但我读到可绘制对象包含图层,所以我放了layer
。不确定这是否准确。 - 接下来的 3 个
value
变量用于 x 偏移量、y 偏移量和模糊半径。直截了当。 - 我不太确定我输入的
color
是否正确,因为我从来没有真正使用过要求颜色的脚本,但我认为我只是根据一些研究输入正确在线完成。 - 最后一个
value
变量也很简单,因为它是阴影的不透明度。 - 我不知道要为
toggle
设置什么。它说它为此接受INT32
,所以我想我应该只输入 0。我尝试进行一些在线研究,但找不到任何东西
如有任何帮助,我们将不胜感激!我不精通 Script-fu。我在这里和那里尝试了一些东西,但我不太了解正式的东西。请尽可能简单地解释事情:)
如果您删除 run-mode
参数,它会起作用。
(script-fu-drop-shadow 1 3 3 3 3 '(115 200 245) 50 0)
不要问我为什么,我的脚本是在Python :)
就此而言,该脚本中的大部分代码都在处理交互使用时最有意义的事情。在大多数情况下,您的代码可以通过选择 alpha、添加图层、填充选区、模糊它和调整偏移量来完成。
你必须找到当前图像和当前可绘制对象的数量(如果你正在处理多个图像,这些不必是 1
和 3
),然后调用它而不用 run-mode
:
> (gimp-image-list)
(1 #(1)) <-- All images, current image is one number from vector #(1)
> (gimp-image-get-active-drawable 1)
(3) <-- Current drawable of current image
> (script-fu-drop-shadow 1 3 0 0 20 '(255 0 0) 100 0)
(#t)
如果您不知道某些参数的含义,您可以查看 Procedure Browser
(Help → Procedure Browser
)- toggle
参数是 允许调整大小,您也可以使用 TRUE
或 FALSE
作为值,因为它们的计算结果分别为 1
或 0
。
编辑:如果你想运行将其作为 .scm 脚本,请按照下列步骤操作:
- .scm 文件应如下所示:
(define (script-fu-my-script image drawable)
(script-fu-drop-shadow image drawable 0 0 20 '(255 0 0) 100 0))
(script-fu-register "script-fu-my-script"
_"Add _Drop _Shadow..."
_"Add drop shadow"
"Author's name"
"Author's name"
"12/9/21"
"*"
SF-IMAGE "Input image" 0
SF-DRAWABLE "Input drawable" 0)
(script-fu-menu-register "script-fu-my-script"
"<Image>/My_Scripts/Drop")
- 为您的脚本找到正确的文件夹:
Edit -> Preferences -> Folders -> Scripts
并将您的 .scm 文件移动到这些文件夹中的一个。 - 重新启动 GIMP 或刷新您的脚本:
Filters -> Script-Fu -> Refresh Scripts
- 右击图片,
My Scripts -> Drop -> Add Drop Shadow
。