1

每个主题的目标。

代码片段:

var canvas= document.getElementById('myCanvas');
var ctx= canvas.getContext('2d');   
canvas.width= 520;
canvas.height= 405;
ctx.font = "15pt Verdana";
ctx.lineWidth = 1;

// text 1
ctx.fillText("me and my dog puddie", 210, 90);  
// text 2
ctx.fillText("you and many many crazy nuts", 210, 130); 
// draw a quadratic bezier curved line between the these 2 text blocks
ctx.strokeStyle = "rgb(65,60,50)";
ctx.beginPath();
ctx.moveTo(210,100);
ctx.bezierCurve(230,250,130,160,160,100);
ctx.stroke();

/* outcome:
no line were drawn between these two text objects
*/

我对二次曲线的理解非常有限

4

2 回答 2

3

您应该quadraticCurveTo用于二次曲线,bezierCurveTo用于三次曲线。

ctx.beginPath();
ctx.moveTo(210,100); // move to the start
ctx.quadraticCurveTo(230, 130, 160, 100); // draw quadractic curve
ctx.stroke();

请参阅画布教程中的贝塞尔曲线和二次曲线

于 2011-07-23T17:15:00.057 回答
3

换行

ctx.bezierCurve(230,250,130,160,160,100);

ctx.bezierCurveTo(230,250,130,160,160,100);

你应该很高兴。

于 2010-07-22T01:45:59.583 回答