Compositor
Filter
CompositorフィルタのFunction値 * (元の要素を A、合成に使う要素を B とする)
- <0>・・・A,Bとも非表示に(Default)
- <1>・・・A,Bのピクセルを比較し、明度の低いほうを表示
- <2>・・・A,Bのピクセルを比較し、明度の高いほうを表示
- <3>・・・(A only)Aだけを表示
- <4>・・・(A Over B)Aは全て表示され、BはAの透明領域をとおしてだけ見える
- <5>・・・(A In B)完全透明でないBの部分と重なったAの部分だけが表示される。Bは表示されない。
- <6>・・・(A Out B)完全透明でないBの部分と重なっていないAの部分だけが表示される。Bは表示されない。
- <7>・・・(A Atop B)AはBに重なっている部分だけ表示し、Bは重なっていない部分だけ表示する。
- <8>・・・(A Subtract B)Aの対応する色値からBの色値を除算し、Aだけを表示する。
- <9>・・・(A AddB)Aの対応する色値とBの色値を加算し、Aだけを表示する。
- <10>・・・(A Xor B)A,Bとも重なっていない部分だけを表示する。
- <19>・・・(B ony)Bだけを表示
- <20>・・・(B Over A)Bは全て表示され、AはBの透明領域をとおしてだけ見える
- <21>・・・(B In A)完全透明でないAの部分と重なったBの部分だけが表示される。Aは表示されない。
- <22>・・・(B Out A)完全透明でないAの部分と重なっていないBの部分だけが表示される。Aは表示されない。
- <23>・・・(B Atop A)BはAに重なっている部分だけ表示し、Aは重なっていない部分だけ表示する。
- <24>・・・(B Subtract A)Bの対応する色値からAの色値を除算し、Bだけを表示する。
- <25>・・・(B AddA)Bの対応する色値とAの色値を加算し、Bだけを表示する。
Sample Source......................................................................>>>
<script language="JavaScript"><!--
function CompOn(){
dv1.filters[0].Apply(); //フィルタを適用する
dv1.innerHTML = dv2.innerHTML; //2つの要素を合成する
dv1.filters[0].Play(); //フィルタに実
}
function CompOff(){ //フィルタの解除
//"解除"というよりは元の画像だけを表示し、解除したよう見せかけています
dv1.filters.item("DXImageTransform.Microsoft.Compositor").Function = 3;
}
//--></script>
</head>
<body onload="CompOn()">
<div id="dv1" style="position:absolute; top:80;width:300; height:230; border:3px solid blue;
filter:progid:DXImageTransform.Microsoft.Compositor(function=3);">
<img src="../../java/jadata/pho_003.gif" width="256" height="192">
</div>
<div id="dv2" style="position:absolute; top:80; left:320; width:300; height:230;border:3px double green;">
<span style="color:red;font:bold 42 'Arial Black';">Compositor</span>
<img src="../../images/cut/025.gif" width="103" height="116" style="position:absolute; top:60; left:120">
<span style="position:absolute; top:155;left:20; color:green;font:bold 40 'Arial Black';">Filter</span>
</div>
<form name="form1">
Function=
<select name="func" onchange="dv1.filters.item('DXImageTransform.Microsoft.Compositor')
.Function = this.options(selectedIndex).value;">
<option value="0" selected>0:両方とも非表示(Default)</option>
<option value="1">1:less bright</option>
<option value="2">2:brighter</option>
<option value="3">3:A only</option>
<option value="4">4:A over B</option>
<option value="5">5:A IN B</option>
<option value="6">6:A OUT B</option>
<option value="7">7:A ATOP B</option>
<option value="8">8:A SUBTRACT B</option>
<option value="9">9:A ADD B</option>
<option value="10">10:A XOR B</option>
<option value="19">19:B only</option>
<option value="20">20:B OVER A</option>
<option value="21">21:B IN A</option>
<option value="22">22:B OUT A</option>
<option value="23">23:B ATOP A</option>
<option value="24">24:B SUBTRACT A</option>
<option value="25">25:B ADD A</option>
</select>
で合成します。 /
<input type="button" name="off" value="解除" onclick="CompOff()">
する </p>
</form>