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