4

使用 javascript,我在画布上绘制了几个多边形图像。

我想,根据用户事件/点击,能够清除画布的一部分(其中一个多边形图像),它是不规则的形状,而不是矩形。

因此,我不能将 clearRect() 用于我的目的。

谁能想到我可以做到这一点的方法?

本质上,我想让我的画布的一部分透明,但它不是矩形......一旦我定义了一个可以填充()和描边()的区域,我也可以不清除()它...我知道这样的功能不可用。人们在做什么来清除不规则形状的部分?

我对此有点陌生,所以如果这听起来像一个愚蠢的问题,请提前道歉。

4

1 回答 1

7

用于ctx.clip()将当前笔划定义为剪辑区域。

请参阅https://developer.mozilla.org/en/Canvas_tutorial/Compositing

我还在http://jsfiddle.net/alnitak/6ABp7/创建了一个演示

剪切路径是图形状态的一部分,所以你可以.save()在之前的状态,设置剪切,再画一些东西,然后.restore()是原始状态。

于 2012-05-16T21:57:13.950 回答