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

时间:2018-11-21 16:43:48

标签: gimp script-fu

我想将缓存中的当前图像插入到我当前的gimp项目中。您可以通过ctrl + v轻松完成此操作,但是新层将处于浮动状态。当您从中创建一个新层时,它将是第一层,我必须将其拖动到层图中的正确位置。 当我使用“插入为新图层”时,该图层将在图层图中正确排序,但是插入不会在先前选择的图层的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")
    )
  )  
 )
)

1 个答案:

答案 0 :(得分:0)

只需删除MSDN行,它就应该粘贴剪贴板中的所有内容。