2023-12-18 canvas(绘制阴影,绘制二次贝塞尔曲线,三次贝塞尔曲线)

129 阅读1分钟
<!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>
  </head>
  <body>
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      context.moveTo(0, 0);
      context.lineTo(100, 100);
      context.lineWidth = 10;
      context.strokeStyle = "green";

      // 绘制阴影
      context.shadowColor = "red";
      context.shadowOffsetX = 10;
      context.shadowOffsetY = 10;
      context.shadowBlur = 10;
      context.stroke()
    </script>
  </body>
</html>

设置阴影

<!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>
  </head>
  <body>
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      // 设置起始点
      context.moveTo(100, 100);
      // 控制点x1,y1 终点x2,y2
      context.quadraticCurveTo(150, 300, 400, 100);
      context.stroke();
    </script>
  </body>
</html>

绘制二阶贝塞尔曲线

<!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>
  </head>
  <body>
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      // 设置起始点
      context.moveTo(100, 100);
      // 控制点x1,y1 控制点x2,y2 终点x3,y3
      context.bezierCurveTo(150, 300, 200, 0, 400, 100);
      context.stroke();
    </script>
  </body>
</html>

绘制三阶贝塞尔曲线