2024-1-3(图片裁剪,绘制文字)

65 阅读1分钟
<body>
    <canvas id="canvas" width="1000" height="1000"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      let img = new Image();
      img.src = './bj.jpg';
      img.onload = function() {
        // 1.按图片原比例裁剪(图片源,起始点x1,y1)
        // context.drawImage(img, 100, 100)

        // 2.图片缩放裁剪(图片源,起始点x1,y1,宽高w1,h1)
        // context.drawImage(img, 100, 100, 200, 100)
        
        // 3.图片裁剪
        (图片源,图片源起始点x1,y1,图片源宽高w1,h1.目标源起始点x2,y2,目标源宽高w2,h2)
        context.drawImage(img, 0, 0, 250, 10, 110, 0, 350, 300);
      }
    </script>
  </body>
 let num = 0;
      setInterval(() => {
        num += 1;
        context.drawImage(
          img,
          100 * num,
          220,
          1250,
          1000,
          110,
          110,
          1000,
          1000
        );
      }, 100);

可以通过不断改变截取图片源位置,实现简单动画

image.png

<body>
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      // context.font="20px Georgia";
      // context.fillText("牛逼啊", 110, 20);

      context.strokeText("牛逼啊", 0, 100);
    </script>
  </body>
<!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.font="700 50px Georgia";
    context.strokeText("牛逼啊", 0, 100);
  </script>
</body>
</html>

设置font更改字体加粗,大小,字体

image.png

<body>
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");
      context.font = "700 50px Georgia";
      context.strokeStyle = "red";
      context.fillStyle = "red";
      context.strokeText("牛逼啊", 0, 100);
      context.fillText("牛逼啊", 0, 200);
    </script>
  </body>

fillText是填充绘制文字, strokeText是描边绘制文字

image.png 给文字渐变

image.png

image.png