画布 - 多个合成操作

时间:2015-05-17 02:57:09

标签: javascript html5 canvas html5-canvas

是否可以在绘制时为不同的“事物”使用多个合成?

例如,我想在特定种类的fillRect中使用打火机,但其余的我想保持一切正常。

1 个答案:

答案 0 :(得分:2)

当然,合成模式可以在每次绘制之前动态更改,因此您可以将某些绘制操作更改为“更轻”,为其他绘制操作更改为“source-over”。

请注意,某些补偿模式可能会清除已经绘制的内容,因此请明智地选择。

ctx.globalCompositeOperation = "lighter";      // lighter mode (blend mode)
ctx.fillRect(x, y, w, h);

ctx.globalCompositeOperation = "source-over";  // normal mode (comp mode)
ctx.fillRect(x, y, w, h);