2024-1-12(绘制文字,滤镜,位移,旋转,缩放)

58 阅读1分钟

image.png maxWidth设置文字的最大宽度,如果低于文字宽度会被压缩,运用较少

fillText()是填充,strokeText()是描边

image.png

<!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>
      * {
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <canvas width="600" height="600" id="canvas"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      context.filter = "blur(10px)";
      // 添加滤镜
      let image = new Image();
      image.src = "./bj.jpg";
      image.onload = () => {
        context.drawImage(image, 0, 0, 500, 500, 100, 100, 500, 500);
      };
    </script>
  </body>
</html>

image.png

<!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>
      * {
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <canvas width="600" height="600" id="canvas"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      context.translate(100, 100);
      // 位移(基于原点位置)

      context.rotate((45 * Math.PI) / 180);
      // 旋转(基于原点位置)

      context.scale(1, 1);
      // 缩放(x方向,y方向)
      context.fillRect(0, 0, 100, 100);
    </script>
  </body>
</html>

image.png

transform相当于一个集合的api,可进行位移旋转缩放