⚠️ これは 非公式の翻訳サイトです。ImageMagick Studio LLC とは無関係です。正確な情報は 原文(https://imagemagick.org/composite/) を参照してください。

composite

使用例 • オプション一覧

composite プログラムを使うと、ある画像を別の画像に重ね合わせられます。composite コマンドの組み立て方についてはコマンドライン処理を参照するか、以下のコマンド使用例をご覧ください。

使用例

composite コマンドの有用さと手軽さを示すため、いくつか例を挙げます。手始めに、スマイリーフェイスを rose に重ねてみましょう:

magick composite -gravity center smile.gif  rose: rose-over.png

smile over rose ==> rose

Atop を使って立体的な効果を作れます:

magick -size 70x70 canvas:none -fill red -draw 'circle 35,35 10,30' red-circle.png
magick -size 70x70 canvas:none -draw "circle 35,35 35,20" -channel RGB -negate -channel A -gaussian-blur 0x8 white-highlight.png
magick composite -compose atop -geometry -13-17 white-highlight.png red-circle.png red-ball.png

white highlight atop red circle ==> red ball

あるいは、クマを小川にシームレスに溶け込ませたいとします。次のコマンドを試してください:

magick -verbose stream.jpg bear.jpg bear_mask.png -define compose:args=400x0.0002+100 \
  -compose seamless-blend -geometry +30+30 -composite bear-in-stream.png

マスクは、ブレンドするクマ周辺の領域を示します。シームレスブレンドは反復処理です。ここでは、ブレンドが収束する(残差の RMSE が 0.0002 未満になる)場合は反復回数を 400 以下に制限します。残差値(RMSE)は 100 反復ごとに表示されます。なお、シームレスブレンドは HDRI 機能が有効なときに最も効果的に動作します。

magick -verbose stream.jpg \( bear.jpg -read-mask only_bear.png \) bear_mask.png \
  -define compose:args=400x0.0002+100 -compose seamless-blend -geometry +30+30 -composite \
  bear-in-stream.png

ここでは、前景オブジェクトを背景から区別する read マスクを作成します。前景オブジェクト自体にはブレンドは適用されず、その周囲だけに適用されます。read-mask はクマの色を保持し、最初の例のように色が明るくなるのを防ぎます。なお、通常のマスクが黒地に白なのに対し、read-mask は白地に黒でなければならない点に注意してください。

composite の使用例は Examples of ImageMagick Usage でさらに見つかります。詳細と数学的背景は SVG Alpha Compositing を参照してください。

オプション一覧

composite コマンドは以下のオプションを認識します。各オプションをクリックすると、その動作の詳細を確認できます。

オプション 説明
-affine matrix アフィン変換行列
-alpha アルファチャンネルの on, activate, off, deactivate, set, opaque, copy, transparent, extract, background, shape の指定
-authenticate value このパスワードで画像を復号する
-blend geometry 画像をブレンドする
-blue-primary point 色度の青原色点
-border geometry 画像を色付きの枠で囲む
-bordercolor color 枠の色
-channel type 選択した画像チャンネルにオプションを適用する
-colors value 画像で使う色数の指定
-colorspace type 画像の色空間を設定する
-comment string 画像にコメントで注釈を付ける
-compose operator 画像の合成演算子を設定する
-compress type 画像の圧縮方式
-debug events 大量のデバッグ情報を表示する
-decipher filename 暗号化ピクセルを平文に変換する
-define format:option 1 つ以上の画像フォーマットオプションを定義する
-density geometry 画像の水平・垂直解像度
-depth value 画像のビット深度
-displace geometry 変位マップで定義された分だけ画像ピクセルをずらす
-dissolve value 2 枚の画像を指定した割合で溶け込ませる
-dither method 画像に誤差拡散を適用する
-encipher filename 平文ピクセルを暗号化ピクセルに変換する
-encoding type テキストのエンコーディング種別
-endian type 画像のエンディアン(MSB または LSB)
-extract geometry 画像から領域を抽出する
-filter type リサイズ時に使うフィルタ
-font name このフォントでテキストを描画する
-geometry geometry 画像の希望サイズまたは位置
-gravity type テキストの水平・垂直配置
-green-primary point 色度の緑原色点
-help プログラムのオプションを表示する
-identify 画像のフォーマットと特性を識別する
-interlace type 画像のインターレース方式の種別
-interpolate method ピクセル色の補間方法
-label string 画像にラベルを割り当てる
-level value 画像のコントラストレベルを調整する
-limit type value ピクセルキャッシュのリソース上限
-log format デバッグ情報の書式
-monitor 進捗を監視する
-monochrome 画像を白黒に変換する
-negate 各ピクセルを補色に置き換える
-page geometry 画像キャンバスのサイズと位置(設定)
-pointsize value フォントのポイントサイズ
-profile filename 画像プロファイルを追加・削除・適用する
-quality value JPEG/MIFF/PNG の圧縮レベル
-quantize colorspace この色空間で画像を減色する
-quiet すべての警告メッセージを抑制する
-red-primary point 色度の赤原色点
-regard-warnings 警告メッセージを重視する
-respect-parentheses 括弧の境界まで設定を有効に保つ
-rotate degrees 画像に Paeth 回転を適用する
-sampling-factor geometry 水平・垂直のサンプリング係数
-scene value 画像のシーン番号
-seed value 擬似乱数列の新しいシードを設定する
-set attribute value 画像属性を設定する
-sharpen geometry 画像をシャープにする
-shave geometry 画像の縁からピクセルを削る
-size geometry 画像の幅と高さ
-stegano offset 画像内に電子透かしを隠す
-stereo geometry 2 枚の画像を合成してステレオアナグリフを作成する
-strip 画像からすべてのプロファイルとコメントを除去する
-swap indexes 画像シーケンス内の 2 枚を入れ替える
-synchronize 画像をストレージデバイスに同期する
-taint 画像を変更済みとマークする
-thumbnail geometry 画像のサムネイルを作成する
-tile 合成操作を画像の横方向・縦方向に繰り返す
-transform 画像をアフィン変換する
-transparent-color color 透明色
-treedepth value カラーツリーの深さ
-type type 画像の種別
-units type 画像解像度の単位
-unsharp geometry 画像をシャープにする
-verbose 画像の詳細情報を表示する
-version バージョン情報を表示する
-virtual-pixel method 画像境界外のピクセルへのアクセス方法
-watermark geometry 電子透かしの明るさと彩度のパーセンテージ
-white-point point 色度の白色点
-white-threshold value しきい値を超えるピクセルをすべて白にする
-write filename 画像をこのファイルに書き出す