Gimp - Script-Fu:从缓存插入到新图层,插入到图层图中

Gimp - Script-Fu: insert from cache to new layer, inserted in layer map

我想将缓存中的当前图像插入到我当前的 gimp 项目中。你可以通过 ctrl+v 轻松地做到这一点,但是新层是浮动的。当你用它创建一个新层时,它将是第一层,我必须将它拖到图层图中的正确位置。 当我使用 "insert as new layer" 时,图层将在图层图中正确排序,但插入不会位于先前选择的图层的 x/y 位置!

我找到了一个脚本,它做的事情非常相似,但它使用 gimp-edit-copy 和 gimp-edit-paste 来插入层,这不是我想要的。我该如何更改它,以便它从缓存中插入图像?

(define (script-fu-selection-to-layer inImage inLayer)
(let*
  (
    (isgroup (car (gimp-item-is-group inLayer)))
    (parent (car (gimp-item-get-parent inLayer)))
    (layername (car (gimp-item-get-name inLayer)))
    (position (car (gimp-image-get-item-position inImage inLayer)))
    (newlayer 0)
  )
  (if (= isgroup 0)
    (begin
      (gimp-image-undo-group-start inImage)
      (gimp-edit-copy inLayer)
      (set! newlayer (car (gimp-edit-paste inLayer 1)))
      (gimp-floating-sel-to-layer newlayer)        
      (gimp-item-set-name newlayer (string-append "insert-" layername))
      (gimp-image-reorder-item inImage newlayer parent position)
      (gimp-selection-none inImage)
      (gimp-image-undo-group-end inImage)
    )
    (begin
       (gimp-message "not usable on layergroups")
    )
  )  
 )
)

只需删除 (gimp-edit-copy inLayer) 行,它就会粘贴剪贴板中的任何内容。