填充HTML画布,排除任意可能是重叠的圆圈

问题描述

| 给定已经绘制过的HTML画布,除了给定的圆形区域之外,为整个画布着色的最佳方法是什么? (在上下文中:阴影除外,那里有光源) 我希望它会像一个简单的“ 0”和随后的“ 1”一样简单,但是AFAIK在此之后没有办法“去除”这些圆形部分。我可以靠近(http://jsfiddle.net/mW8D3/2/),但是圆圈的重叠区域最终会被阴影化(以XOR方式,而我想要OR)。使用
clip()
有同样的问题。 我也尝试过使用
globalCompositeOperation
,但似乎无法达到我想要的效果。 有任何想法吗?     

解决方法

        您可以先在第二个画布上创建阴影图像,然后使用globalCompositeOperation \'copy \'和透明的fillStyle从中删除孔。 像这样:http://jsfiddle.net/mW8D3/4/