ImageCompose[image,overlay]
overlay を image にオーバーレイした結果を与える.
ImageCompose[image,{overlay,α}]
α の融合割合で overlay を image にアルファブレンドした結果を返す.
ImageCompose[image,overlay,pos]
overlay の中央を image の pos 位置に置く.
ImageCompose[image,overlay,pos,opos]
overlay 内の点 opos を image 内の位置 pos に置く.
ImageCompose[image,overlay,pos,opos,{fi,fo,mode}]
合成割合 fkと指定された合成モードを使う.
ImageCompose
ImageCompose[image,overlay]
overlay を image にオーバーレイした結果を与える.
ImageCompose[image,{overlay,α}]
α の融合割合で overlay を image にアルファブレンドした結果を返す.
ImageCompose[image,overlay,pos]
overlay の中央を image の pos 位置に置く.
ImageCompose[image,overlay,pos,opos]
overlay 内の点 opos を image 内の位置 pos に置く.
ImageCompose[image,overlay,pos,opos,{fi,fo,mode}]
合成割合 fkと指定された合成モードを使う.
詳細
- ImageComposeは,画像を別の画像に重ねるために使うことができる.この関数は,通常,ラベル,ロゴ,ウォーターマーク,その他の視覚要素を画像に加えるために使われる.
- ImageCompose[image,…]は常に image と同じ画素サイズの画像を与える.
- overlay は,以下のいずれでもよい.
-
oimage 画素ごとに構築された明示的な画像オブジェクト graphics 同じ画像サイズになるようにラスタライズされたグラフィックスオブジェクト text 文字列またはスタイル付きのテキスト expr 通常の表示サイズにラスタライズされた任意の式 - テキストおよび任意の式をラスタライズするとき,式は透明の背景を使って image と同じ解像度で通常の表示サイズにラスタライズされる.
- ImageCompose[image,overlay]は,overlay がアルファチャンネルを持つ場合はアルファブレンドを行う.
- ImageCompose[image,{overlay,α}]は,事実上 overlay のアルファ値を α に設定するか,存在するアルファチャンネルに α を掛ける.
- ImageCompose[image,overlay]は overlay が image の中央になるようにする.
- image 中の位置 pos あるいは overlay 中の位置 opos は次のように指定することができる.
-
{x,y} 左下隅からの絶対画素オフセット Scaled[{sx,sy}] オブジェクトの0から1にスケールした位置 {posx,posy} 名前付きの位置Top,Bottom,Left,Right,Center - posxと posyの一方しか与えられていない場合,もう一方はCenterであるとみなされる.
- 画素オフセット{x,y}は負でもよい.負の場合は image あるいは overlay 外の点を示す.
- ImageCompose[image,…]は,image がアルファチャンネルを持つ場合のみ,アルファチャンネルを持つ画像を与える.
- ImageCompose[{image,αi},…]は事実上値 αiを持つアルファチャンネルを image に追加する.
- ImageCompose[…,{fi,fo,mode}]は image 中のすべての画素値の fiの割合を overlay 中のすべての画素値の foの割合と,すべての場合においてアルファチャンネルを考慮に入れて組み合せる.
- mode の値が1のとき,overlay は image の上にあるとして扱われる.値が-1の場合は,下にあるとして扱われる.値が0の場合は,image と overlay は対称的に扱われる.
- 下記のように選ばれた{fi,fo,mode}は,標準的なDuff–Porter合成演算子に相当する.
-
{1,1,1} 画像の上("over")にオブジェクト(デフォルト) {0,1,1} 画像の上("atop")にオブジェクト {1,0,1} オブジェクト {0,0,1} 画像の中("in")にオブジェクト {1,1,0} "xor"操作 {0,1,0} オブジェクトの外("out")に画像 {1,0,0} 画像の外("out")にオブジェクト {0,0,0} クリア("clear")な画像 {1,1,-1} オブジェクトの上("over")に画像 {0,1,-1} 画像 {1,0,-1} オブジェクトの上("atop")に画像 {0,0,-1} オブジェクトの中("in")に画像 - {1,1,1}および{1,1,-1}で与えられる"over"演算子は,事実上アルファブレンドを行う.
- {0,0,1}および{0,0,-1}で与えられる"in"演算子は,ある画像を他の画像のアルファチャンネルでマスクする.
- {0,1,0}および{1,0,0}で与えられる"out"演算子は,ある画像を他の画像のアルファチャンネルを補完するものでマスクする.
- {0,1,1}および{1,0,-1}で与えられる"atop"演算子は,事実上アルファブレンドを行う前に二つの画像のアルファチャンネルを組み合せる.
- ImageCompose[image,{o1,o2,…}]は,複数の画像を image にオーバーレイする.
- ImageCompose[image,{{o1,α1},…}]を使うと,それぞれのオーバーレイに異なるアルファ値を設定することができる.
- 対応する位置のリスト,オーバーレイの位置,合成の割合とモードもまた,複数のオーバーレイを組み立てている場合には指定することができる.
例題
すべて開く すべて閉じる例 (2)
スコープ (9)
基本的な用法 (2)
オーバーレイ (4)
ImageCompose[[image], [image]]ImageCompose[[image], "Hello"]ImageCompose[[image], Style[ "Hello", 24, Bold, FontFamily -> "Helvetica"]]ImageCompose[[image], Plot[Sin[x], {x, 0, 4π}, Axes -> False, PlotStyle -> Directive[Black, Thick], ImageSize -> 120]]アプリケーション (6)
Nest[ ImageCompose[#, {#, 0.9}, {-1, 0}, {0, 0}]&, [image], 50]i = [image];mask = ColorNegate@Binarize[i, .12]ImageCompose[i, SetAlphaChannel[ ImageAdjust[i, {0, 2}], mask]]img = [image];{w, h} = ImageDimensions[img];
ImageCompose[img, Style[Text["Wolfram"], 4, GrayLevel[.5, .4]], Flatten[Table[{x, y}, {x, -50, w, 60}, {y, 10, h, 30}], 1]]ImageCompose[ImageMultiply[[image], Magenta], {ImageMultiply[[image], Green], .5}]ImageCompose[Plot[{Sin[x], Cos[x]}, {x, -π, π}], Rasterize[LineLegend[{ColorData[97][1], ColorData[97][2]}, {"sine", "cosine"}]], {Left, Top}, {Left, Top}]ImageCompose[Image[ConstantArray[1, {300, 300}]], {[image], .05}, 150 + Table[40{Sin[i], Cos[i]}, {i, 0, 2 Pi, Pi / 12}], {Center, Center}]インタラクティブな例題 (1)
あらゆる種類のアルファ合成モードとパラメータを詳しく調べてみる:
Manipulate[Row[ {ImageCompose[ [image], [image], Center, Center, {fob, fim, mode}], {Round[fob], Round[fim], mode} /. { {1, 0, 1} -> "object", {0, 1, -1} -> "image", {1, 1, 1} -> "object over image", {1, 1, -1} -> "image over object", {0, 0, 1} -> "object in image", {0, 0, -1} -> "image in object", {1, 0, 0} -> "object out image", {0, 1, 0} -> "image out object", {0, 1, 1} -> "object atop image", {1, 0, -1} -> "image atop object", {0, 0, 0} -> "clear", {1, 1, 0} -> "object xor image", _ -> "" }}], {{mode, 1}, {1 -> "object", -1 -> "image", 0 -> "none"}}, {{fob, 1}, 0, 1}, {{fim, 1}, 0, 1}]関連するワークフロー
- 複数の画像を組み合せる
テキスト
Wolfram Research (2008), ImageCompose, Wolfram言語関数, https://reference.wolfram.com/language/ref/ImageCompose.html (2022年に更新).
CMS
Wolfram Language. 2008. "ImageCompose." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ImageCompose.html.
APA
Wolfram Language. (2008). ImageCompose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageCompose.html
BibTeX
@misc{reference.wolfram_2026_imagecompose, author="Wolfram Research", title="{ImageCompose}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ImageCompose.html}", note=[Accessed: 13-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_imagecompose, organization={Wolfram Research}, title={ImageCompose}, year={2022}, url={https://reference.wolfram.com/language/ref/ImageCompose.html}, note=[Accessed: 13-November-2026]}