GIMP script-fu 中参数 'layer' 的 ID 无效
Invalid ID for argument 'layer' in GIMP script-fu
我正在使用以下脚本通过 GIMP script-fu 批处理一些图像文件:
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(imagelayer (car (gimp-image-get-layers image)))
(bglayer (car (gimp-layer-new image 8400 5939 1 ""bg"" 100 LAYER-MODE-NORMAL))))
(gimp-image-add-layer image bglayer 1)
(gimp-layer-set-offsets (car (gimp-image-get-layers image)) 0 870)
第 2 行加载图像,第 3 行获取图像的单层,第 4 行创建新的背景层,第 5 行将新层添加到图像,第 6 行设置图像层的偏移量。
但是第 6 行抛出以下错误:
GIMP-Error: Calling error for procedure 'gimp-layer-set-offsets':
Procedure 'gimp-layer-set-offsets' has been called with an invalid ID for
argument 'layer'. Most likely a plug-in is trying to work on a layer that
doesn't exist any longer.
我试图将第 6 行更改为以下内容,但我遇到了同样的错误:
(gimp-layer-set-offsets imagelayer 0 870)
奇怪的是,错误并不总是出现,有时例程运行没有错误。
这是 GIMP 错误还是我脚本中的错误?
一个可能的解释是硬编码层类型(1:RGBA-IMAGE)与图像类型(例如,颜色索引(*)...)不兼容,因此您的层未添加到图片。尝试强制使用图像类型 (gimp-image-convert-rgb
),或将图层类型设置为与图像类型兼容的类型(gimp-image-base-type
,或重新使用现有图层的类型)。
(*) 据我所知,有(罕见的)灰度 JPG,更常见的是颜色索引 PNG,然后是 GIF。
gimp-image-get-layers returns 2 个值的列表,层数和层 ID 列表。
通过使用汽车,您已选择使用层数值作为层 ID。
尝试改用 gimp-image-get-active-layer。
我正在使用以下脚本通过 GIMP script-fu 批处理一些图像文件:
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(imagelayer (car (gimp-image-get-layers image)))
(bglayer (car (gimp-layer-new image 8400 5939 1 ""bg"" 100 LAYER-MODE-NORMAL))))
(gimp-image-add-layer image bglayer 1)
(gimp-layer-set-offsets (car (gimp-image-get-layers image)) 0 870)
第 2 行加载图像,第 3 行获取图像的单层,第 4 行创建新的背景层,第 5 行将新层添加到图像,第 6 行设置图像层的偏移量。
但是第 6 行抛出以下错误:
GIMP-Error: Calling error for procedure 'gimp-layer-set-offsets':
Procedure 'gimp-layer-set-offsets' has been called with an invalid ID for
argument 'layer'. Most likely a plug-in is trying to work on a layer that
doesn't exist any longer.
我试图将第 6 行更改为以下内容,但我遇到了同样的错误:
(gimp-layer-set-offsets imagelayer 0 870)
奇怪的是,错误并不总是出现,有时例程运行没有错误。
这是 GIMP 错误还是我脚本中的错误?
一个可能的解释是硬编码层类型(1:RGBA-IMAGE)与图像类型(例如,颜色索引(*)...)不兼容,因此您的层未添加到图片。尝试强制使用图像类型 (gimp-image-convert-rgb
),或将图层类型设置为与图像类型兼容的类型(gimp-image-base-type
,或重新使用现有图层的类型)。
(*) 据我所知,有(罕见的)灰度 JPG,更常见的是颜色索引 PNG,然后是 GIF。
gimp-image-get-layers returns 2 个值的列表,层数和层 ID 列表。
通过使用汽车,您已选择使用层数值作为层 ID。
尝试改用 gimp-image-get-active-layer。