小编Dre*_*man的帖子

在画布中使用 globalCompositeOperation 屏蔽多个形状

我正在尝试绘制多个矩形,然后使用 globalCompositeOperation 'source-in' 掩盖那些效果很好的矩形,但问题是当我填充我的矩形时,它们消失了......如果我只有一个 fill() 调用,它们都可以正确绘制但只尊重最后应用的填充样式。

有问题的代码 -

ctx.drawImage(self.glass.mask, 256, 375);
ctx.globalCompositeOperation = 'source-in';

ctx.rect(256, 635, 256, 75);
ctx.fillStyle = "#c65127";

ctx.rect(256, 605, 256, 25);
ctx.fillStyle = "#f5f4f0";

ctx.rect(256, 565, 256, 35);
ctx.fillStyle = "#c65127";

ctx.fill();
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常。但如果我这样做,并取下面具——

ctx.beginPath();
ctx.rect(0, 256, 256, 75);
ctx.fillStyle = "#c65127";
ctx.fill();

ctx.beginPath();
ctx.rect(0, 226, 256, 25);
ctx.fillStyle = "#f5f4f0";
ctx.fill();

ctx.beginPath();
ctx.rect(0, 186, 256, 35);
ctx.fillStyle = "#222";
ctx.fill();
Run Code Online (Sandbox Code Playgroud)

我有每个矩形,他们尊重他们的填充风格。问题是当我启用蒙版时,它们不再可见。

在 globalCompositeOperation 'source-in' 下可以拥有的元素数量是否有限制,或者我只是缺少一些简单的东西?

这里有一些小提琴 -

http://jsfiddle.net/ENtXs/ - 按预期工作但不尊重填充样式。

http://jsfiddle.net/ENtXs/1/ - 移除遮罩以显示所有元素

http://jsfiddle.net/ENtXs/2/ - 添加 …

javascript canvas globalcompositeoperation

6
推荐指数
1
解决办法
2351
查看次数

Chrome 扩展程序上下文菜单在更新后不起作用

我有一个扩展,我最近推送了更新并更新了权限。一些用户正在升级并报告该应用程序在更新后无法运行,为了使其再次运行,他们必须完全卸载该应用程序并重新安装,一切都会正常运行。

有人遇到过类似的问题吗?对我来说,在测试所有已正确更新的内容时,并不是每个人都遇到这个问题,但它正在成为一个问题。

需要注意的是 - 弹出选项卡确实有效,只是上下文菜单有问题。

编辑- 除了从用户那里获取报告之外,我无法复制并且没有明确的方法来测试这一点。我确实注意到部署另一个更新后报告有所下降,其中我调整了权限的顺序...我不明白这有什么关系,但我正在寻找任何关于为什么会发生这种情况以及是否存在的澄清将来可以采取一些措施来避免这种情况。

google-chrome contextmenu google-chrome-extension

3
推荐指数
1
解决办法
1683
查看次数