Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
gimp-image-insert-layer: Item 'Background' (2) has already been added to an image
#1
Hi,

I am trying to write a script which would insert an image as a layer within layers of another image.  Here is what I got so far :

Code:
(define (foobar filename)
  (let* (
; open image to add
     (inputfile (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
     (picture (car (gimp-image-get-active-layer inputfile)))
; open file to insert image into
     (template (car (gimp-file-load RUN-NONINTERACTIVE "template.xcf" "template.xcf")))
    )
; add picture to template
    (gimp-image-insert-layer template picture 0 -1)
; flatten image
    (gimp-image-flatten template)
; couldn't get this line to work outside the next one, probably have to investigate "let" syntax
;    (drawable (car (gimp-image-get-active-drawable template)))
    (file-jpeg-save RUN-NONINTERACTIVE template (car (gimp-image-get-active-drawable template)) "outfile.jpg" "outfile.jpg" 0.95 0.95 1 1 "" 2 1 0 2)
     )
)


I call the script with gimp -i -b '(foobar "picture.jpg")' -b '(gimp-quit 0)'.

However it fails on gimp-image-insert-layer :


Quote:GIMP-Error: Calling error for procedure 'gimp-image-insert-layer':
Item 'Background' (2) has already been added to an image

batch command experienced an execution error:
Error: ( : 1) Procedure execution of gimp-image-insert-layer failed on invalid input arguments: Item 'Background' (2) has already been added to an image


I am struggling to understand this, the only results I get are two old threads on GF.c from which the useful replies have been removed…


What's wrong with my script ?
Reply


Messages In This Thread
gimp-image-insert-layer: Item 'Background' (2) has already been added to an image - by Skippy - 01-12-2019, 11:08 PM

Forum Jump: