【发布时间】:2014-06-08 05:58:04
【问题描述】:
我基本上想将一个画布放在另一个画布之上,并定义它们的内容混合方式。
我有一个带有黑色字符的白色画布,我想用一个透明的蓝色矩形突出显示它的一部分,而不会让背景中的黑色字符变成深蓝色。事实上,如果我合并两个画布并将 globalCompositeOperation 设置为“multiply”而不是默认值,同时保持两个画布分开和重叠,我需要我得到的方面。
这就是我所拥有的:
这就是我想要的:
我知道如果我将两个画布合并为一个,globalCompositeOperation 将允许我这样做。但我宁愿保留两个画布:我的背景画布由 lib 显示。我仍然可以画出来,但这会使事情复杂化很多:
- 我会过于依赖他们的逻辑,必须调整我和他们的逻辑才能使其发挥作用,
- 性能至关重要,此解决方案意味着以 24 fps 进行更多绘制,
- 每次更新库时我都会很挣扎...
总而言之,避免干扰 lib 似乎要好得多。有没有办法选择重叠画布的行为方式?
提前致谢!
编辑:我们还考虑将背景画布的白色部分转换为透明部分,并在下面添加我们的高亮画布,但这也很复杂,如果不是不可能的话。
【问题讨论】:
-
只需将链接发布到您帖子中的图片,我们就会为您修复内联问题。
-
没关系,我放了 Dropbox 链接,谢谢!
标签: html canvas blending globalcompositeoperation