老版地址(仅作固定作用):old.jincong.net

HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线

在HTML5Cava中,可以用以下方法描画三阶和二阶的贝塞尔曲线:复制代码代码如下:coex.bezieCuveTo(cp1x,cp1y,cp2x,cp2y,x,y)coex.quadaicCuveTo(cpx,cpy,x,y)贝塞尔曲线是在二维平面上由一个&l......
以下是【金聪采编】分享的内容全文:

在HTML5 Canvas中,可以用以下方法描画三阶和二阶的贝塞尔曲线:


复制代码
代码如下:

context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
context.quadraticCurveTo(cpx, cpy, x, y)

贝塞尔曲线是在二维平面上由一个“起始点”,一个“结束点”,以及一个或多个“控制点”定义的曲线。普通的三阶贝塞尔曲线使用两个控制点,而二阶曲线则只使用一个控制点。

要描画二阶贝塞尔曲线,只需设置结束点的坐标和控制点的坐标即可:


复制代码
代码如下:

context.moveTo(0,0);
context.quadraticCurveTo(100,25,0,50);

代码执行结果如下:

上面例子中的曲线从坐标(0,0)开始,到(0,50)结束,而用于控制曲线描绘的控制点的坐标为(100,25)。

相比二阶曲线,由于可以设置两个控制点,三阶贝塞尔曲线的描画更为灵活。下面的代码描画了一条”S”形的曲线:

复制代码
代码如下:

context.moveTo(150,0);
context.bezierCurveTo(0,125,300,175,150,300);

译注1:关于贝塞尔曲线,可以参考Wikipedia上的条目(http://en.wikipedia.org/wiki/Bézier_curve),其中的动画很好地诠释了贝塞尔曲线的生成机制。

译注2:目前HTML5 Canvas最高仅支持三阶贝塞尔曲线,四阶以上的曲线尚不支持。

金聪线报提示:[ HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线 ] 仅为会员分享交流,仅供学习、参考使用,请勿用于其他用途,如果想商业使用或者代理,请自行联系版权方获取授权。任何未获取授权的商业使用与本站无关,请自行承担相应责任。
本站不存储任何资源文件,敬请周知!
此资源仅供个人学习、研究使用,禁止非法转播或商业用途,请在获取后24小时内删除,如果你觉得满意,请寻求购买正版或获取授权!
免责申明:本站仅提供学习的平台,所有资料均来自于网络分享线索,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以处理。版权申诉相关说明
本网站采用 BY-NC-SA 协议进行授权 转载请注明原文链接:HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
221381
领取福利

微信扫码领取福利

微信扫码分享