我正在创建一个两层画布。最底层是截图。最顶层是绘图表面。我想出了一支基本的笔。我想创建荧光笔效果 - 意思是设置不透明度为 0.5 或更低的较大线条。我遇到的问题是,当我在同一区域多次绘制时,颜色会相互重叠。最终,高光将变成实心并遮挡下层。我想用原始颜色均匀地突出显示,并且能够在现有的突出显示上绘制而不会将颜色叠加。
我一直在搞乱 globalCompositeOperation 但无法使用我尝试过的设置获得所需的结果。下面我尝试color使用 globalAlpha 设置。我也尝试过使用rgba颜色。我也尝试过只使用一层,但我希望能够轻松清除涂鸦和擦除,所以我选择了两层。我的一些源代码在图片中,但我不确定代码对我的问题有多大帮助。如果需要的话我可以提供更多。谢谢。
编辑:使用后,multiply在其他颜色中,又名globalCompositionOperation黄色#FF0效果很好。有些颜色仍然具有原始的黑色效果,例如我在底部图片中使用的蓝色。顺便说一句,这些图片不是为了分享我的代码,它们是为了展示荧光笔效果。附带说明一下,这是一个 Electron 应用程序,因此目前使用 Chromium ~ 61。