我在画布中有一些彩色的线条,使用mousemove
事件进行扫描,该事件将返回该线条的十六进制颜色代码。
无论如何,我可以使该画布对眼睛不可见,但是当指针移到画布上时,仍返回正确的颜色代码吗?
我尝试将上下文的globalAlpha
设置为透明或接近透明(0,0.1 ...),并在following fiddle中混合结果:
在Firefox中,由于透明度,收集到的十六进制返回更改的颜色,
在Chrome中,无论透明度如何,它都会返回正确的颜色(这实际上是我想要的行为)。
奇怪的是,在我的原始代码中,即使在Chrome中,具有globalAlpha=0
的画布行也不再返回其原始颜色。
有人可以请客解释globalAlpha的预期行为是什么?更重要的是,还有另一种方法可以使画布对眼睛不可见,但是仍然可以通过鼠标事件来收集颜色?任何帮助表示赞赏!
最佳答案
将CSS属性opacity
设置为0
。
当您将属性应用于画布时
#examplecanvas {
opacity: 0;
}
它会从屏幕上消失,但是当您将鼠标悬停在屏幕上(或单击它)时,仍然可以检测到颜色。
关于javascript - 如何使 Canvas 对眼睛不可见但对鼠标移动事件不可见?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46898571/