clip() 是 Canvas 2D API 將當(dāng)前創(chuàng)建的路徑設(shè)置為當(dāng)前剪切路徑的方法。
從畫布截取200 * 120像素的矩形區(qū)域。然后,繪制一個紅色矩形。僅紅色矩形部分位于裁剪區(qū)域內(nèi):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML canvas clip()方法使用-菜鳥教程(cainiaoplus.com)</title>
</head>
<body>
<span>沒有進(jìn)行clip():</span>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。
</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>有進(jìn)行clip():</span>
<canvas id="myCanvas2" width="300" height="150" style="border:1px solid #d3d3d3;">
您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。</canvas>
<script>
var c=document.getElementById("myCanvas2");
var ctx=c.getContext("2d");
//剪切一個矩形區(qū)域
ctx.rect(50,20,200,120);
ctx.stroke();
ctx.clip();
//剪切之后畫一個矩形
ctx.fillStyle="red";
ctx.fillRect(0,0,150,100);
</script>
</body>
</html>測試看看 ?/?IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 clip() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
clip()方法從原始畫布中裁剪任何形狀和大小的區(qū)域。
提示:裁剪一個區(qū)域后,所有將來的圖形都將限于該裁剪的區(qū)域(無法訪問畫布上的其他區(qū)域)。但是,您可以在使用clip()方法之前使用save()方法保存當(dāng)前的畫布區(qū)域,并在以后的任何時候(使用restore()方法)將其還原。
| JavaScript 語法: | context.clip(); |
|---|