4

我在 HTML5 画布中有两个块。

  1. 蓝色块即固定在画布中
  2. 可以用鼠标拖动的黄色块。

当有人将黄色块移到蓝色块上时,我想将重叠或交叉区域的颜色更改为绿色。(请参阅附图以获得清晰的想法)

在此处输入图像描述

由于blue + yellow = green,有没有办法通过改变块的不透明度来实现这一点,或者我必须搜索两个块的重叠区域并在该区域显示绿色块,还是有其他方法?

我想知道实现这一目标的最佳方法是什么?

4

2 回答 2

2

看看画布 globalCompositeOperation较轻的复合类型似乎适合您的需求。

于 2012-06-16T19:34:08.423 回答
0

您可以使用 3 个元素:

  • 黄底:不透明度 1
  • 黄色顶部:不透明度 0.x,与底部相同的尺寸
  • 蓝色:黄色 div 之间完全不透明

jsFiddle 上的示例

这远未完成,但也许是朝着正确方向迈出的一步。

编辑:我注意到你在画布上要求它为时已晚,但那里的原则应该是一样的。

于 2012-06-16T19:35:06.067 回答