html5 canvas arcTo方法心得

arcTo方法要与moveTo方法塔配使用,比如:

ctx.beginPath();
ctx.moveTo(x0,y0);
ctx.arcTo(x1,y1,x2,y2 ,r);

ctx.stroke();

(x0,y0) -> (x1,y1) -> (x2,y2) 这三个点构成一个"L"型,比如:

有了L型架子后,我们再弄一个半径为r的圆,让这个圆被L架子卡住,如下图:

 如上图所示,圆和L型架子相切那段弧线就是画出来的弧线部分。

弧线的大小取决于r的大小。如果r定义的比较大,那么L的两条边可以无限向两端延伸。如果架子大而r小,那么(x0,y0)->(x1,y1)这条边的长度可能影响到绘制效果。如上图,红色线条是最终画出来的效果。上图中如果将(x0,y0)与(x2,y2)互换,画出来的效果是不同的(不同的直线部分)。但如果L型两条边不大于r,那么互换(x0,y0)与(x2,y2)不影响画出来的形状(只有弧线)。

欢迎大家进行更详细测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值