2013-01-13 344 views
0

我知道我可以使用bezierCurveTo()使用3个控制点绘制贝塞尔曲线。 如何绘制超过3个控制点的贝塞尔曲线?我尝试使用KineticJS中的样条曲线(因为我可以指定尽可能多的点),但生成的曲线看起来不像贝塞尔曲线(例如,如果我只设置3个点)。我能以某种方式将更多的二次贝塞尔曲线连接在一起以获得具有多于3个控制点的曲线吗?绘制超过3个控制点的贝塞尔曲线

+0

你可以用一些代码创建一个jsfiddle(在jsfiddle.net),我会尽力帮助你吗? – SoluableNonagon

+0

另外,你见过:http://www.html5canvastutorials.com/labs/html5-canvas-modify-curves-with-anchor-points-using-kineticjs/ – SoluableNonagon

回答

0

比方说你有3条曲线:

curve1, curve2, and curve3 

和你想要的所有的曲线连接在一起的曲线,称之为:

curve 4 

随着kineticJS(4.3.1在这个时候) ,你可以这样做:

var points1 = curve1.getPoints(); 
var points2 = curve2.getPoints(); 
var points3 = curve2.getPoints(); 
var joined = points1.concat(points2,points3); 

curve4.setPoints(joined); 
// make sure to redraw the layer 
相关问题