答え1
これは思ったより簡単です。最初の画像に何もする必要はありません。次に2番目の画像を透明にします。「穴」それを最初のものに重ねます。
何が起こっているのか簡単にわかるように、私はあなたとは少し異なるサイズを使用します。
まず、マスクを作成します。正確なピクセル値をロスレスで保存するために PNG として作成します。
magick -size 64x64 xc:black xc:white +append \( +clone -flop \) -append -write MPR:x -delete 0 -size 512x512 tile:MPR:x mask.png
次に、サンプル画像を 2 つ作成します。
magick -size 512x512 -seed 42 plasma:tomato-steelblue -paint 20 -swirl 200 a.jpg
magick -size 512x512 gradient:black-magenta b.jpg
さあ、魔法をかけましょう:
# Push mask.png into b.jpg as its transparency, then overlay onto a.jpg
magick a.jpg \( b.jpg mask.png -compose copyalpha -composite \) -compose over -composite result.png