我查了一下,认为我的问题的答案是“否”,但这里是:
使用 Javascript 和 canvas 标签,我可以用以下命令绘制漂亮的 alpha 混合线stroke()
.
这很有趣,但我想通过设置笔画的混合模式来更进一步。
例如,看起来它正在使用经典的 src * (alpha) + dst * (1 - alpha),
我想要像 src + dst 这样的东西,以获得附加混合。
这一页:http://www.andersriggelsen.dk/OpenGL http://www.andersriggelsen.dk/OpenGL似乎正在逐像素混合,
我真的很想避免。
HTML5 Canvas 上下文原生支持的唯一“混合模式”是全球综合业务 http://www.w3.org/TR/2dcontext/#dom-context-2d-globalcompositeoperation:
source-atop
source-in
source-out
source-over
destination-atop
destination-in
destination-out
destination-over
lighter
darker
罢工>(不再在规范中)
xor
copy
See 这个链接 http://mrcoles.com/blog/canvas-composite-operations-demo-animation/一个出色的模式动画交互示例。然而,您想要的添加/屏幕模式并不在其中。
如果此功能对您很重要,我已经编写了免费的上下文混合器库 https://github.com/Phrogz/context-blender使用 Photoshop 风格的混合模式将两个画布(或其区域)混合在一起。正如您所说,其内部(必然)执行逐像素操作。它不像原生合成模式那么快,但也不慢。它仍然允许您在一个(通常是屏幕外)画布上执行本机描边和填充操作,然后将屏幕外画布合成到另一画布上。
是的,上下文混合器支持“屏幕”和“添加”混合模式。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)