HTML canvas clip() 方法

HTML canvas 参考手册 HTML canvas 参考手册

从画布中剪切 200*120 像素的矩形区域。然后,绘制一个红色矩形。只有被剪切区域内的红色矩形部分是可见的:

<span>没有进行clip():</span>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>
<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  // 画一个矩形
  ctx.rect(50, 20, 200, 120);
  ctx.stroke();
  // 画一个红色矩形
  ctx.fillStyle = "red";
  ctx.fillRect(0, 0, 150, 100);
</script>
<span>有进行clip():</span>
<canvas id="myCanvas2" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。</canvas>
<script>
  var c = document.getElementById("myCanvas2");
  var ctx = c.getContext("2d");
  //剪切一个矩形区域
  ctx.rect(50, 20, 200, 120);
  ctx.stroke();
  ctx.clip();
  //剪切之后画一个矩形
  ctx.fillStyle = "red";
  ctx.fillRect(0, 0, 150, 100);
</script>

尝试一下 »


浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 clip() 方法。

注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。


定义和用法

clip()方法从原始画布中剪切任意形状和尺寸。

提示:一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。您也可以在使用 clip() 方法前通过使用 save() 方法对当前画布区域进行保存,并在以后的任意时间对其进行恢复(通过 restore() 方法)。

JavaScript 语法: context.clip();

HTML canvas 参考手册 HTML canvas 参考手册