私はGIMP Script-Fuでもっとも簡単なことをしようとしています。GIMPスクリプト-fu(スキーム)1つのイメージから別のイメージへコピー/貼り付け
私は100x100の灰色の画像と200x200の黒い画像を作成しました。黒い四角に灰色の四角形をコピーしようとしています。ただし、出力は黒い正方形(灰色の四角形は見つかりません)です。これは私がやろうとしている(2つの別々の画像を含む)何かのものの最小限のテストケースですが、私は一度に1つの問題に取り組みます。
私自身のトラブルシューティングに基づいて、コピー/貼り付けの手順に問題があるようですが、残念ながら(gimp-edit-copy)と(gimp-edit-paste)のドキュメントを理解できません。 Script-Fuプロシージャブラウザ。私が間違っている
?
おかげ
; 1) save this file as `$HOME/.gimp-2.8/scripts/copy-test.scm'
; 2) $ gimp -i -b '(copy-test)' -b '(gimp-quit 0)'
; 3) check `out.png' for result
(define (copy-test)
(let* (; create 100x100 image img-a & 200x200 image img-b
(img-a (car (gimp-image-new 100 100 RGB)))
(img-b (car (gimp-image-new 200 200 RGB)))
; make new layers for each image
(layer-a0
(car (gimp-layer-new
img-a 100 100 RGB-IMAGE "a0" 100 NORMAL-MODE)))
(layer-b0
(car (gimp-layer-new
img-b 200 200 RGB-IMAGE "b0" 100 NORMAL-MODE))))
; insert layers into appropriate images
(gimp-image-insert-layer img-a layer-a0 0 0)
(gimp-image-insert-layer img-b layer-b0 0 0)
(let (; get the drawables for each image
(draw-a (car (gimp-image-get-active-layer img-a)))
(draw-b (car (gimp-image-get-active-layer img-b))))
; change img-a from black to gray
(plug-in-exchange
RUN-NONINTERACTIVE img-a draw-a 0 0 0 128 128 128 1 1 1)
; copy/paste a (100px gray) onto b (200px black)
(gimp-edit-copy draw-a)
(gimp-edit-paste draw-b TRUE)
; save output to result.png
(gimp-file-save
RUN-NONINTERACTIVE img-b draw-b "out.png" "out.png"))))
UPDATE:
(gimp-floating-sel-anchor
(car (gimp-edit-paste draw-b TRUE)))
で
(gimp-edit-paste draw-b TRUE)
を交換xenoidの提案に続き
は、問題を修正しました。
ありがとうございました!以来 '、私は置き換え(GIMP-編集ペースト)'新しい浮動選択を返し '(GIMP-編集ペーストTRUEドロー-B)' '(GIMP-浮動SEL-アンカーと (車(gimp-edit-paste draw-b TRUE))) ' となっていました。 '(gimp-display-new)'ヒントもありがとうございました。 – msp