【发布时间】:2017-01-28 17:20:53
【问题描述】:
我想在画布上绘制两个不透明度为 0.2 的对象。
这两个项目部分重叠。在它们重叠的地方,不透明度将为 0.4,而非重叠部分的不透明度为 0.2。 即画布100w,100h。
https://jsbin.com/wicigarinu/edit?js,output
ctx.globalAlpha = 0.2;
ctx.beginPath();
ctx.arc(50, 50, 25, 0, 2*Math.PI, false);
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.arc(65, 65, 20, 0, 2*Math.PI, false);
ctx.fill();
ctx.closePath();
我如何能够在同一个点上绘制,但保持最初设置的不透明度,即使在超过 1 个填充发生的坐标上?
【问题讨论】:
-
在画布上没有“本机”方法可以做到这一点。也许一些框架会实现这一点,但这需要谷歌搜索。如果没有第三方库,您需要以没有重叠区域的方式绘制复合图形。
标签: javascript canvas