HTML5 Canvas 剪切区域

裁剪是指使用 clip() 方法裁剪原始画布形状的任何区域。 如果一个区域被剪裁,所有未来的生长都将受到限制,并且我不会访问画布上的其他区域。 如果在进行任何剪辑之前使用 save() 保存当前画布区域,并在将来随时恢复它。

在 HTML5 中定义剪切区域首先绘制路径然后使用 clip() 方法。

HTML5 Canvas裁剪示例

<!DOCTYPE HTML>

<html>

  <head>

    <style>

      body {

        margin: 0px;

        padding: 0px;

      }

      #myownCanvas {

        border: 1px solid #9C9898;

      }

    </style>

    <script>

        window.onload = function () {

            var canvas = document.getElementById("myownCanvas");

            var context = canvas.getContext("2d");

            var a = canvas.width/2;

            var b = canvas.height/2;

            var radius = 85;

            var offset = 60;

            context.save();

            context.beginPath();

            context.arc(a, b, radius, 0, 2 * Math.PI, false);

            context.clip();

            context.beginPath();

            context.arc(a - offset, b - offset, radius, 0, 2 * Math.PI, false);

            context.fillStyle = "Black";

            context.fill();

            context.beginPath();

            context.arc(a + offset, b, radius, 0, 2 * Math.PI, false);

            context.fillStyle = "pink";

            context.fill();

            context.beginPath();

            context.arc(a, b + offset, radius, 0, 2 * Math.PI, false);

            context.fillStyle = "Brown";

            context.fill();

            context.restore();

            context.beginPath();

            context.arc(a, b, radius, 0, 2 * Math.PI, false);

            context.lineWidth = 3;

            context.strokeStyle = "Red";

            context.stroke();

        };

    </script>

  </head>

  <body>

    <canvas id="myownCanvas" width="578" height="200"></canvas>

  </body>

</html>

HTML5 Canvas裁剪语法

context.clip();
日期:2020-04-11 23:04:08 来源:oir作者:oir