clip() 是 Canvas 2D API 將當前創(chuàng)建的路徑設(shè)置為當前剪切路徑的方法。
從畫布截取200 * 120像素的矩形區(qū)域。然后,繪制一個紅色矩形。僅紅色矩形部分位于裁剪區(qū)域內(nèi):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML canvas clip()方法使用-菜鳥教程(cainiaoplus.com)</title> </head> <body> <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"); //剪切一個矩形區(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()方法保存當前的畫布區(qū)域,并在以后的任何時候(使用restore()方法)將其還原。
JavaScript 語法: | context.clip(); |
---|