【发布时间】:2013-12-07 13:17:48
【问题描述】:
到目前为止,我得到了这个:http://jsfiddle.net/Lt7VN/
但是它剪切/剪切了红色和黑色的矩形,而我希望它只剪切黑色的矩形,我该怎么做呢?
context.beginPath();
context.rect(20,20,160,200);
context.fillStyle = "red";
context.fill();
context.beginPath();
context.rect(20,20,150,100);
context.fillStyle = "black";
context.fill();
context.globalCompositeOperation = "destination-out";
context.beginPath();
context.arc(100, 100, 50, 0, 2*Math.PI);
context.fill();
【问题讨论】:
-
您始终可以将红色矩形绘制到另一个画布中,并将第二个画布放在顶部的下方。当然在这个具体的例子中,你可以完全省略
globalCompositeOperation,只在矩形上画一个红色圆圈。 -
@akonsu 没有办法用一个画布来做吗?另外,画一个红色圆圈对我不起作用,因为我可能在黑色矩形而不是红色矩形下方使用多种颜色的图像或复杂的不规则形状。
-
我不认为你可以用一张画布做到这一点。
标签: javascript html canvas globalcompositeoperation