HTML5 Canvas – 组合
HTML5画布提供了组合属性 globalCompositeOperation ,它会影响所有绘制操作。
我们可以使用globalCompositeOperation属性绘制出现有形状的背景,并对某些区域进行遮罩处理,从画布中清除部分内容,如下面的示例所示。
以下是可以设置给globalCompositeOperation的值:
序号 | 属性及说明 |
---|---|
1 | source-over 这是默认设置,将新形状绘制在现有画布内容上方。 |
2 | source-in 新形状仅在新形状和目标画布重叠的区域中绘制。其他区域全部透明。 |
3 | source-out 新形状绘制在现有画布内容未重叠的区域中。 |
4 | source-atop 新形状仅在其与现有画布内容重叠的区域中绘制。 |
5 | lighter 在两个形状重叠的区域中,颜色值相加而获得新颜色。 |
6 | xor 两个形状重叠的区域透明,并在其他区域正常绘制。 |
7 | destination-over 新形状位于现有画布内容之后绘制。 |
8 | destination-in 在新形状和现有画布内容重叠的区域内保留现有画布内容。其他区域全部透明。 |
9 | destination-out 在新形状未重叠现有画布内容的区域内保留现有画布内容。 |
10 | destination-atop 现有画布内容仅在其与新形状重叠的区域中保留,而新形状绘制在画布内容后方。 |
11 | darker 在两个形状重叠的区域中,颜色值相减而获得新颜色。 |
示例
以下是一个简单的示例,使用globalCompositeOperation属性创建所有可能的组合:
上面的示例将生成以下结果 −