画像の結合2 (切り抜き)
-compose -matte
前項では-composeを使って、画像を重ね合わせる方法をご紹介しました。
この-composeでは、重ね合わせた画像を切り抜くことができるメソッドも用意されています。
1. 上の画像領域で下の画像を切り抜く
composite -gravity (position) -compose dst-out <画像名(上)>
<画像名(下)> -matte <生成する画像名>
例)composite -gravity center -compose dst-out before.png before2.jpg -matte after.png
▼実行結果
-composeにdst-outをメソッドとして指定することで、上に重ねた画像領域で下の画像を切り抜くことができます。
上記例のように、上の画像をpng等透過領域を保持した画像にすることで、透過部分以外の画像領域で切り抜くことができます。
また、切り抜いた後の画像の透過部分を保持したい場合には、-matteというオプションで透過を保持するように指示する必要があります。
2. 上下の画像が重なる領域で切り抜く
composite -gravity (position) -compose dst-in <画像名(上)>
<画像名(下)> -matte <生成する画像名>
例)composite -gravity center -compose dst-in before.png before2.jpg -matte after.png
▼実行結果
1とは逆に上の画像と下の画像の重なった領域を残し、それ以外の部分を切り捨てる切り抜き方法です。
この場合はdst-inを使います。
切り捨てられた透過部分も画像サイズとしては保持されていますので、切り抜き後透過部分を破棄したい場合には、-trimなどのオプションを使用する必要があります。
最後までお読みいただきありがとうございます。お役に立てましたなら嬉しいです。