clip() 是 Canvas 2D API 将当前创建的路径设置为当前剪切路径的方法。
从画布截取200 * 120像素的矩形区域。然后,绘制一个红色矩形。仅红色矩形部分位于裁剪区域内:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML canvas clip()方法使用-基础教程(niaoge.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"); //剪切一个矩形区域 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()方法从原始画布中裁剪任何形状和大小的区域。
提示:裁剪一个区域后,所有将来的图形都将限于该裁剪的区域(无法访问画布上的其他区域)。但是,您可以在使用clip()方法之前使用save()方法保存当前的画布区域,并在以后的任何时候(使用restore()方法)将其还原。
JavaScript 语法: | context.clip(); |
---|