Canvas 2D globalCompositeOperation(更轻)

Bar*_*art 1 javascript canvas

根据http://dev.w3.org/html5/2dcontext/#dom-context-2d-globalcompositeoperation上的规范,"较轻"的组合是"A + B".

让我们说这是我的情况:

  • 画布背景颜色:红色(#FF0000)
  • 绘制从绿色(#00FF00)到黑色(#000000)的线性渐变
  • 预期结果:从黄色(#FFFF00)到红色(#FF0000)的线性渐变

但是,"较轻"的复合操作似乎没有添加颜色.相反,它只是在红色背景上绘制绿色/黑色渐变.

预览:http://jsbin.com/uvaje4/4/和代码:http://jsbin.com/uvaje4/4/edit

一些说明:

  1. 我在chrome,firefox和opera上测试了这个.我只能看到3个选项:没有浏览器实现了"更轻"的组合,或者规范是完全错误的,或者我的代码是错误的.
  2. 我意识到创建一个从黄色到红色的渐变很简单,但我需要"更轻"的操作来处理更复杂的图形.

Det*_*ect 5

lighterFTL 上的拼写错误:O http://jsbin.com/uvaje4/5/