返回

Canvas六边形列阵背景 —— 密恐慎入!

前端

好的,以下是您要求的文章:

引言

作为一个前端,在闲暇时总喜欢玩一下Canvas。继上次中秋节活动中记录星空月亮的美后,这次决定来点刺激的,尝试一下密恐慎入的六边形列阵背景。

内容

首先,我们需要创建一个新的HTML文档,并在其中添加以下代码:

<!DOCTYPE html>
<html>
<head>
  
</head>
<body>
  <canvas id="canvas" width="500" height="500"></canvas>

  <script>
    // 获取canvas元素
    var canvas = document.getElementById("canvas");

    // 获取canvas的上下文
    var ctx = canvas.getContext("2d");

    // 设置画布背景色
    ctx.fillStyle = "#000";
    ctx.fillRect(0, 0, canvas.width, canvas.height);

    // 六边形边长
    var sideLength = 10;

    // 六边形间距
    var spacing = 5;

    // 六边形行列数
    var rows = 10;
    var cols = 10;

    // 绘制六边形
    for (var i = 0; i < rows; i++) {
      for (var j = 0; j < cols; j++) {
        // 计算六边形中心点坐标
        var x = sideLength * (j + 0.5) + spacing * j;
        var y = sideLength * (i + 0.5) + spacing * i;

        // 绘制六边形
        ctx.beginPath();
        ctx.moveTo(x + sideLength / 2, y - sideLength / 2);
        ctx.lineTo(x + sideLength, y);
        ctx.lineTo(x + sideLength / 2, y + sideLength / 2);
        ctx.lineTo(x - sideLength / 2, y + sideLength / 2);
        ctx.lineTo(x - sideLength, y);
        ctx.lineTo(x - sideLength / 2, y - sideLength / 2);
        ctx.closePath();
        ctx.fillStyle = "#fff";
        ctx.fill();
      }
    }
  </script>
</body>
</html>

接下来,我们需要在script标签中添加以下代码来绘制六边形列阵:

// 六边形边长
var sideLength = 10;

// 六边形间距
var spacing = 5;

// 六边形行列数
var rows = 10;
var cols = 10;

// 绘制六边形
for (var i = 0; i < rows; i++) {
  for (var j = 0; j < cols; j++) {
    // 计算六边形中心点坐标
    var x = sideLength * (j + 0.5) + spacing * j;
    var y = sideLength * (i + 0.5) + spacing * i;

    // 绘制六边形
    ctx.beginPath();
    ctx.moveTo(x + sideLength / 2, y - sideLength / 2);
    ctx.lineTo(x + sideLength, y);
    ctx.lineTo(x + sideLength / 2, y + sideLength / 2);
    ctx.lineTo(x - sideLength / 2, y + sideLength / 2);
    ctx.lineTo(x - sideLength, y);
    ctx.lineTo(x - sideLength / 2, y - sideLength / 2);
    ctx.closePath();
    ctx.fillStyle = "#fff";
    ctx.fill();
  }
}

最后,保存并运行HTML文件,你将看到一个由白色六边形组成的列阵背景。

结语

这就是如何在浏览器中创建一个六边形列阵背景。希望本教程对你有帮助。