Compositor兼容性:IE5.5+
语法:
filter : progid:DXImageTransform.Microsoft.Compositor ( function=sFunction )
属性:
function : 可选项。整数值(Integer)。设置或检索混合方式。 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 19 | 20 | 21 | 22 | 23 | 24 | 25
0 : 默认值。清除。不执行任何操作。
1 : MIN 。比较AB的每一个像素的亮度,将亮度较低的像素点显示出来。
2 : MAX 。比较AB的每一个像素的亮度,将亮度较高的像素点显示出来。
3 : A。仅仅显示A
4 : A OVER B。在B之上显示AA被完全显示,B通过A的透明区域显示出来。
5 : A IN B。显示被AB包含的部分。只有两个图像 alpha 值都不为 0 的区域被显示。B不会有任何部分穿透显示。
6 : A OUT B。显示A没有被B包含的部分。B不会有任何部分穿透显示。
7 : A ATOP B。 显示A遮盖B,每个取样都通过B alpha 通道依比例测定获得。
8 : A SUBTRACT B。以B的颜色取样值减去A的相应颜色取样值的方式显示A。结果颜色通过A alpha 通道依比例测定获得。
9 : A ADD B。以B的颜色取样值加上A的相应颜色取样值的方式显示A。 结果颜色通过A alpha 通道依比例测定获得。
10 : A XOR B。显示AB没有相互交叠的像素点。交叠的像素通过它们反转的 alpha 值依比例测定。
19 : B。仅仅显示B
20 : B OVER A。在A之上显示BB被完全显示,A通过B的透明区域显示出来。
21 : B IN A。显示被BA包含的部分。只有两个图像 alpha 值都不为 0 的区域被显示。A不会有任何部分穿透显示。
22 : B OUT A。显示B没有被A包含的部分。A不会有任何部分穿透显示。
23 : B ATOP A。 显示B遮盖A,每个取样都通过A alpha 通道依比例测定获得。
24 : B SUBTRACT A。以A的颜色取样值减去B的相应颜色取样值的方式显示B。结果颜色通过B alpha 通道依比例测定获得。
25 : B ADD A。以A的颜色取样值加上B的相应颜色取样值的方式显示B。 结果颜色通过B alpha 通道依比例测定获得。
特性:
Function :可读写。整数值(Integer)。参阅 function 属性。
方法:
apply : 捕获对象内容的初始显示,为转换做必要的准备。无返回值。
当此方法一旦被调用后,对象属性的任何改变都不会被显示,直到你调用 play 方法开始转换。
请注意:你只能使用 visibility 属性来改变对象的子对象。否则,对子对象的直接改变会被立即显示出来,而不会被转换滤镜捕获。
当你调用 play 方法时,转换呈现出内容的变化结果(对象的属性和子对象的 visibility 属性的改变)。
play ( iDuration ) : 开始转换。无返回值。参数见下表。
iDuration :可选项。浮点数(Real)。 指定滤镜作用持续的时间。默认单位为秒。
使用 play 方法的 iDuration 参数设置转换回放的持续时间,其值在转换的当前一个周期内会替换 Duration 属性的设置。但是下一次转换会恢复使用 Duration 属性设置的值。
说明:
依据初始对象和新对象色彩的特定混合方式显示新的对象内容。
这个滤镜提供了丰富的将输入对象的色彩和透明度相互作用的图像合成的功能设置。要建立转换滤镜,遵循下列步骤:
  1. 选择一个功能( function )。
  2. 设置对象的合成滤镜( filter )的属性声明。
  3. 确定滤镜对象初始显示的内容。合成功能将此作为输入 A
  4. 使用合成滤镜的 apply 方法。捕获对象内容的初始显示,为转换做必要的准备。
  5. 改变对象的属性,如 visibility innerText background-color border ,或者其子对象的属性。合成功能将此作为输入 B
  6. 使用合成滤镜的 play 方法。这会将合成功能输出的图像变化显示出来。
示例:
#idDiv{ filter:progid:DXImageTransform.Microsoft.Compositor(function=20, duration=7);}