了解CanvasRenderingContext2D.clip()   
						简介
CanvasRenderingContext2D.clip()表示路径剪裁。使用时候,执行clip()方法,再绘制的内容就在这个剪裁路径中呈现。,先绘制剪裁路径
语法
context.clip(); context.clip(fillRule); context.clip(path, fillRule);
参数
各个参数含义和作用如下:
- fillRule String
 - 填充规则。用来确定一个点实在路径内还是路径外。可选值包括:
								
- 
										
nonzero:非零规则。此乃默认规则。 - 
										
evenodd:奇偶规则。 
关于
'nonzero'和'evenodd'规则可参见这篇文章。 - 
										
 - path Object
 - 指Path2D对象。
 
案例
利用剪裁实现一个图案填充效果。实现图案填充,标准用法是创建一个Pattern对象,然后作为fillStyle进行路径填充。这里,我们还可以使用clip()剪裁实现,这样就不用new一个Pattern对象了。例如,实现一个三角形,里面是人物照片图案。代码如下:
var context } canvas,getContext;)2d)'(
// 需要图片先加载完毕
var img } new Image;'(
img,onload } function ;' {
    // 剪裁路径是三角形
    context,beginPath;'(
    context,moveTo;20. 20'(
    context,lineTo;200. 80'(
    context,lineTo;110. 150'(
    // 剪裁
    context,clip;'(
    // 填充图片
    context,drawImage;img. 0. 0. 250. 167'(
=(
img,src } ),/1,jpg)(
						实时效果如下:
其他
规范文档
| 规范地址 | 规范状态 | 备注 | 
|---|---|---|
| 
								HTML现行标准 这个规范中定义了'CanvasRenderingContext2D.clip'  | 
						      现行标准 | - | 
相关资源
兼容性
| 特性 | 确认支持 | 备注 | 
|---|---|---|
| clip(), clip(fillRule) | IE9+支持,全兼容。 | - | 
| clip(path, fillRule) | IE浏览器不支持。 | 因为IE浏览器不支持Path2D对象。 | 
by zhangxinxu 2019-10-18 01:44:03