录屏鼠标光标圆圈如何实现_如何用canvas来实现在网页上用鼠标绘图

最终的效果如下

6cb5082caa0d1b436357c3ae063995f3.gif
效果图

Q:如何给canvas 标签设置一个动态的占满全界面的宽高呢?

 <body>
    <canvas id="canvas"></canvas>
    <script>
      var canvas = document.getElementById("canvas");
      //设置canvas的宽高
      canvas.width = document.documentElement.clientWidth;
      canvas.height = document.documentElement.clientHeight;

      let ctx = canvas.getContext("2d");
      let painting = false;

      ctx.fillStyle = "black";//设置填充颜色
      canvas.onmousedown = () => {
        painting = true; //标记变量,用来控制程序是否运行,可类比红绿灯
      };
      canvas.onmousemove = (e) => {
        if (painting === true) {
          ctx.beginPath();//开始一段新的路径
//下面这个arc方法四个参数分别是:横纵坐标,宽高,开始角度,结束角度
          ctx.arc(e.clientX, e.clientY, 10, 0, 2 * Math.PI);

          ctx.stroke();//绘制
          ctx.fill();//填充图形
        } else {
          console.log("啥都不做");
        }
      };
      canvas.onmouseup = () => {
        painting = false;
      };
    </script>
  </body>

要想用canvas来简单的实现在网页上绘制图形的话,我们就得先思考下,图形是由什么组成的。

我们学数学的时候学过,点线,面。也就是说,点组成了线,线组成了面。

那我们在绘制的时候,就是先从最小组成部分开始做。

我们现来实现用canvas完成一个绘制小圆点的作用。

那想好之后,我们就得知道具体应该怎样写,

1:先搜索 canvas mdn,找到绘制圆形的部分,具体网址如下

CanvasRenderingContext2D.arc()​developer.mozilla.org
d189d4317ef7f2c059ab600bcdb2518b.png

2:然后到这个网址中,找到自己要用到的代码。

c0e397ec346c9a741a2e77ba28b36f64.png

3:根据这个例子知道可以绘制出一个圆形之后,而要想实现通过移动鼠标来实现图形绘制的话。我们需要设置在鼠标按下,然后鼠标移动的时候,去运行这个绘制圆形的代码

而当我这个鼠标抬起的时候,即使我的鼠标在移动,也不会去绘制图形。

Q:那么如何才能实现这种,我想什么时候绘制,想什么时候结束就结束的效果呢?

A:我们可以根据现实中的交通案例来看,当红灯开启时,就停车, 绿灯时就停止。

所以我们也要设置这样的标志,来告诉我应该走还是停

e843a7381fdb79391e9a5b6455002a3b.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值