HTML5 Canvas :裁剪路径
HTML5 Canvas 提供的 clip
可将当前创建的路径设置为当前裁剪路径的方法。
绘制路径后裁切
裁切方法:
// 把已经创建的路径转换成裁剪路径
context.clip();
context.clip(fillRule);
context.clip(path, fillRule);
// 参数:
// fillRule:这个算法判断一个点是在路径内还是在路径外。
// 可选的值:
// "nonzero": 非零环绕原则,默认的原则。
// "evenodd": 奇偶环绕原则。
// path:需要剪切的 Path2D 路径。
示例:
var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
var image = new Image();
image.src = "http://cdn.zdyla.com/upload/post/ca10ac99-8e02-4c9d-b112-c4a4c7264665.jpeg"
image.onload = function (){
ctx.drawImage(image,20,20,160,160);
}
ctx.beginPath();
ctx.arc(100,100, 80, 0, Math.PI * 2);
ctx.clip();
使用 Path2D 对象提供的路径来裁切
Path2D 允许我们在 canvas 中创建可以保留并重用的路径。
以上示例可以改写为:
var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
var image = new Image();
image.src = "http://cdn.zdyla.com/upload/post/ca10ac99-8e02-4c9d-b112-c4a4c7264665.jpeg"
image.onload = function (){
ctx.drawImage(image,20,20,160,160);
}
var path = new Path2D();
path.arc(100,100, 80, 0, Math.PI * 2);
ctx.clip(path);
- 本文链接 : https://www.zdyla.com/post/html5-canvas-clip.html
- 版权声明 : 本博客所有文章和照片除特别声明外,转载请联系作者获取授权,并请注明出处!