【问题标题】:html5 canvas use javgascript to change opacity of rectangle due to mouse distance from rectange由于鼠标与矩形的距离,html5画布使用javascript更改矩形的不透明度
【发布时间】:2014-04-11 19:41:39
【问题描述】:

您好,我想在画布上绘制一个矩形,但我希望该矩形的不透明度越高,鼠标越靠近该矩形。我知道它可能非常简单,但我一直在努力让它发挥作用。我目前没有在我的项目中使用任何库,所以最好使用纯 JavaScript。

提前致谢

【问题讨论】:

  • 你应该做的是谷歌一些东西。不要偷懒!!!逐一找出这些东西:如何制作一个矩形,如何设置这个矩形的不透明度,如何在屏幕上找到一个元素的绝对位置(在你的情况下是画布的左上角 -> 如果矩形不直接放在左上角,你应该在x和y轴上添加像素数量。),然后找出屏幕上的鼠标位置。将所有这些东西粘贴在一起,你就可以开始了。
  • 如果您编写了任何代码,请将其添加到问题中,那么我们可以尝试为您提供帮助。你在纠结什么?

标签: javascript html canvas opacity


【解决方案1】:

由于没有提供调整代码,这里是文字大纲:

  • 监听 mousemove 事件
  • 在 mousemove 事件处理程序中计算鼠标位置
  • (在计算时一定要调整画布的偏移量,因为您从事件监听器获得的坐标是相对于网页的,而不是画布本身)
  • 使用“距离公式获取鼠标到矩形中心(或矩形边缘)的距离
  • 就什么距离数将导致什么矩形不透明度做出设计决策
  • 使用 context.clearRect 从画布中清除矩形
  • 使用 globalAlpha 设置画布不透明度:将 context.globalAlpha 设置为所需的不透明度。
  • 重绘矩形
  • 重复,重复,重复!

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 2019-06-16
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多