是否可以在绘制时为不同的“事物”使用多个合成?
例如,我想在特定种类的fillRect中使用打火机,但其余的我想保持一切正常。
答案 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);