HTML5 Canvas – 绘制二次曲线

HTML5 Canvas – 绘制二次曲线

我们需要以下方法在画布上绘制二次曲线−

序号 方法和描述
1 beginPath() 此方法重置当前路径。
2 moveTo(x, y) 此方法创建一个带有给定点的新子路径。
3 closePath() 此方法将当前子路径标记为已关闭,并以与新关闭的子路径的起点和终点相同的点开始新子路径。
4 fill() 此方法使用当前填充样式填充子路径。
5 stroke() 此方法使用当前描边样式描边子路径。
6 quadraticCurveTo(cpx, cpy, x, y) 此方法将给定点添加到当前路径中,并使用给定控制点将其连接到前一个点上的二次贝塞尔曲线。

quadraticCurveTo() 方法中的 x 和 y 参数是终点的坐标,cpx 和 cpy 是控制点的坐标。

示例

以下是一个简单的示例,利用上述方法来绘制二次曲线。

<!DOCTYPE HTML>

<html>
   <head> 

      <style>
         #test {
            width: 100px;
            height:100px;
            margin: 0px auto;
         }
      </style>

      <script type = "text/javascript">
         function drawShape() {

            // get the canvas element using the DOM
            var canvas = document.getElementById('mycanvas');

            // Make sure we don't execute when canvas isn't supported
            if (canvas.getContext) {

               // use getContext to use the canvas for drawing
               var ctx = canvas.getContext('2d');

               // Draw shapes
               ctx.beginPath();

               ctx.moveTo(75,25);
               ctx.quadraticCurveTo(25,25,25,62.5);

               ctx.quadraticCurveTo(25,100,50,100);
               ctx.quadraticCurveTo(50,120,30,125);

               ctx.quadraticCurveTo(60,120,65,100);
               ctx.quadraticCurveTo(125,100,125,62.5);

               ctx.quadraticCurveTo(125,25,75,25);
               ctx.stroke();
            } else {
               alert('You need Safari or Firefox 1.5+ to see this demo.');
            }
         }
      </script>
   </head>

   <body id = "test" onload = "drawShape();">
      <canvas id = "mycanvas"></canvas>
   </body>

</html>

上面的示例将绘制以下形状−

HTML5 Canvas - 绘制二次曲线

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程