0

ImageMagick では、3 つの個別のステップでコンポジットを作成できます。最初の画像をピン留めし、次に 2 番目の画像をピン留めします。次に、これら 2 つの画像を合成して、背景画像の上に配置します。

convert .\source1.png -matte -virtual-pixel transparent -distort Perspective '0,0,27,211 0,278,197,266 500,0,176,19 500,278,323,48' source1a.png
convert .\source2.png -matte -virtual-pixel transparent -distort Perspective '0,0,2,72 0,278,86,181 500,0,215,2 500,278,311,85' source2a.png
convert .\card.png -page +253+41 .\source2a.png -page +0+98 .\source1a.png -layers flatten fred4.png

何らかの理由で、Windows は、これらのコマンドを括弧でグループ化することに応答しません。

convert .\card.png -page +253+41 (.\source1.png -matte -virtual-pixel transparent -distort Perspective '0,0,27,211 0,278,197,266 500,0,176,19 500,278,323,48') -page +0+98 (.\source2.png -matte -virtual-pixel transparent -distort Perspective '0,0,2,72 0,278,86,181 500,0,215,2 500,278,311,85') -layers flatten fred4.png

何らかの理由で上記のコマンドを実行すると、各画像のビューアが開き、出力が間違っています。

2 つの中間イメージを書き出すことなくこれを行う方法はありますか? 理想的には、画像を背景に配置してから、背景画像の座標空間でコーナー ピンを配置できます。どんなアイデアでも非常に役に立ちます。

どうもありがとう!

4

1 に答える 1

1

コマンドを括弧でグループ化する場合、文字と文字の両側に(少なくとも) 1 つの空白を残す必要があります。これは十分に文書化されており、すべての例がそれを示しています! (Unix では、それらをエスケープし、ImageMagick コマンドをグループ化するために and を使用する必要さえあります) 。()\(\)

したがって、これはWindowsで機能するはずです:

convert                   ^
  card.png                ^
 -page +253+41            ^
    (                     ^
      source1.png         ^
     -matte               ^
     -virtual-pixel transparent ^
     -distort Perspective '0,0,27,211 0,278,197,266 500,0,176,19 500,278,323,48' ^
    )                     ^
 -page +0+98              ^
    (                     ^
      source2.png         ^
     -matte               ^
     -virtual-pixel transparent ^
     -distort Perspective '0,0,2,72  0,278,86,181  500,0,215,2  500,278,311,85'  ^
    )                     ^
 -layers flatten          ^
  fred4.png
于 2012-09-12T17:50:34.557 に答える