10 09/2014

canvas bezier

最后更新: Wed Sep 10 2014 12:39:11 GMT+0800
This is canvas by guoshuang!
canvas = document.getElementById("canvas-bezier");
ctx = canvas.getContext("2d");
ctx.lineWidth = 2;
ctx.strokeStyle = "#c00";
ctx.beginPath();
ctx.moveTo(10,10);
ctx.bezierCurveTo(10,150,200,100,310,10);
ctx.stroke();

ctx.moveTo(10,10); //从 10,10 开始画

ctx.bezierCurveTo(10,150,200,100,310,10); //10,150 是第一个贝赛尔控制点(左面的绿点),200,100 第二个控制点(右面绿点),310,10 是终点。

笔记

  • canvas 不能直接 style 设置高宽,会变形。直接 width height=
  • canvas 没有 zindex,上面的后画;或者多个 canvas position:absolute
  • quadraticcurveto 中间只有一个控制点。类似于 flash 中拖线;
  • dotted stroke in canvas 垂直线的时候可能不显示(正好在缝隙中)
  • select by id 或者 rapheal

参考: