如何从gimp图像列表中识别gimp中最新选择的图像?
gimp图像列表返回一个列表,其中图像的数量作为第一元素,图像id的矢量作为第二元素。
如果有多个图像,如何找到最后一个聚焦的图像?
您没有。列表中的顺序是打开图像的相反顺序,通常是图像选项卡上的相反顺序。
实际情况是,如果你编写的脚本应该影响打开的图像,你应该把它放在"菜单中——这样,GIMP就会"免费"地将活动图像和活动绘图作为第一个参数传递给你(也就是说,不需要用户选择它们)。
在交互模式下,即在脚本之外,您只需检查标题栏上的图像ID。
注册脚本时需要定义图像和可绘制区域。例如:
(script-fu-register "script-fu-some-handy-function"
_"_Handy function..."
_"Does something handy for your image."
"Michael T <username@domain.com>"
"Michael T"
"24/09/2022"
"*"
SF-IMAGE "Input image" 0
SF-DRAWABLE "Input drawable" 0
)
然后,当你需要使用图像时,你只需键入";图像";以使用引用的图像。
(define (script-fu-some-handy-function image drawable)
(define width (car(gimp-image-width image)))
(define height (car(gimp-image-height image)))
(define newLayer (gimp-layer-new image width height 1 "Black" 100 0))
(define newLayerIndex (car newLayer))
(gimp-image-insert-layer image newLayerIndex 0 0)
(gimp-context-set-foreground '(0 0 0))
)
注意我们如何在函数定义中定义变量,否则该变量将无法在定义中工作。