【问题标题】:Is it possible to use canvas blend-mode over parent dom element?是否可以在父 dom 元素上使用画布混合模式?
【发布时间】:2015-10-06 08:29:06
【问题描述】:

我想将一个小的画布元素混合到一个大的父背景元素上。我尝试了以下方法但没有成功:

JS:ctx.globalCompositeOperation = "overlay";

我相信 globalCompositeOperation 仅适用于画布中相互绘制的元素。

CSS:background-blend-mode: overlay;

我认为 css background-blend-mode 可能可以工作,但可惜没有。

我知道 canvas 元素在它自己的小世界中,将它与其他 html 元素混合是在黑暗中的一个镜头 - 只是想确认我没有遗漏任何东西。

【问题讨论】:

  • 你试过 CSS mix-blend-mode 吗?
  • @vals 哇!这就是为什么我在这里发帖以防万一-让我大吃一惊。是的,混合混合模式回答了这个问题。如果你想让它正式,我会接受;)

标签: css canvas blending


【解决方案1】:

也许你可以在画布上绘制“父背景元素”然后混合?这可能有点贵,但我猜这是您拥有的少数选择之一。

【讨论】:

  • 是的,这也是我能想到的唯一选择。我的画布清除/动画,所以除了原始背景之外,我还必须一遍又一遍地绘制整个背景 - 我宁愿不:P
【解决方案2】:

正如 vals 在 cmets 中指出的那样 - 我的问题的答案是:是的,使用混合混合模式:css mix-blend-mode

【讨论】:

    最近更新 更多