如果一个形状超出了javascript的画布,我如何剪切它?
我想创建一个圆,如果它超出了另一个形状,则将其切割出一部分 例如,如果圆的一半在正方形外,则将外部的所有部分都剪下,但不要剪内部的部分。类似于此片段的内容,除了正方形外的部分是隐藏的。我更喜欢避免屏蔽它,因为它将位于另一个画布上,覆盖整个屏幕 代码如果一个形状超出了javascript的画布,我如何剪切它?,javascript,html5-canvas,Javascript,Html5 Canvas,我想创建一个圆,如果它超出了另一个形状,则将其切割出一部分 例如,如果圆的一半在正方形外,则将外部的所有部分都剪下,但不要剪内部的部分。类似于此片段的内容,除了正方形外的部分是隐藏的。我更喜欢避免屏蔽它,因为它将位于另一个画布上,覆盖整个屏幕 代码 var canvas=document.getElementById(“canvas”), ctx=canvas.getContext(“2d”); ctx.rect(20,20100100); ctx.stroke(); ctx.closePat
var canvas=document.getElementById(“canvas”),
ctx=canvas.getContext(“2d”);
ctx.rect(20,20100100);
ctx.stroke();
ctx.closePath();
ctx.beginPath();
ctx.arc(70,90,60,0,Math.PI*2,false)
ctx.stroke();
ctx.restore()代码>
你可以clip()
像这样画圆圈
var canvas=document.getElementById(“canvas”),
ctx=canvas.getContext(“2d”);
ctx.rect(20,20100100);
ctx.stroke();
ctx.closePath();
ctx.clip();//夹圆
ctx.beginPath();
ctx.arc(70,90,60,0,Math.PI*2,false)
ctx.stroke();
ctx.restore()代码>
这是我为裁剪sqaure外部而调整的尺寸
var canvas=document.getElementById(“canvas”),
ctx=canvas.getContext(“2d”);
ctx.rect(20,20100100);
ctx.stroke();
ctx.closePath();
ctx.beginPath();
ctx.arc(70,90,60,10,-4*Math.PI*.05,假)
ctx.stroke();
ctx.restore()代码>
这很简单。。谢谢