HTML5 新特性 - Canvas路径绘制

路径(path)是将预先设定好的坐标点,按照顺序连接起来所形成的图形.

路径绘制的基本步骤:

  1. 调用ctx.beginPath()开启一条新路径.

  2. 调用ctx.moveTo(x, y)将画笔移动到指定位置.

  3. 调用相关方法开始绘制路径(例如: ctx.lineTo(x, y))

  4. 最后通过stroke()fill()方法进行描边填充.

触摸相关事件总结

  1. touchstart 开始触摸时触发

  2. touchmove 触摸移动时触发

  3. touchcancel 触摸被打断取消时触发

  4. touchend 触摸结束时触发

canvas提供的绘制路径的常用API

   ctx.rect() 用于绘制矩形路径:

//左上角x, 左上角y, 宽, 高
ctx.rect(x, y, width, height)

   ctx.arc() 用于绘制圆弧路径:

// (x,y) 圆形坐标, 半径, 起始弧度值, 结束弧度值
ctx.arc(x, y, radius, startangle, endangle)

示例:

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      canvas {
        background-color: lightskyblue;
        border: 1px solid gold;
      }
    </style>
  </head>
  <body>
    <canvas id="canvas" width="640px" height="360px"></canvas>

    <script>
      let cvs = document.getElementById("canvas");
      let ctx = cvs.getContext("2d");

      //绘制路径
      ctx.beginPath();
      ctx.moveTo(300, 0);
      ctx.lineTo(230, 230);
      ctx.lineTo(400, 60);
      ctx.lineTo(200, 60);
      ctx.lineTo(370, 230);
      ctx.lineTo(300, 0);
      ctx.strokeStyle = "red";
      ctx.stroke();
    </script>
  </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值