zoukankan      html  css  js  c++  java
  • HTML5之canvas 4 绘制曲线

    一、圆弧

    (x0,y0)当前坐标点,(x1,y1)控制点坐标,x2,y2)圆弧终点坐标

    Context.arcTo(x1,y1,x2,y2,radiusX)

    二、二次贝塞尔曲线

    开始点:moveTo(20,20)

    控制点 1quadraticCurveTo(20,100,200,20)

    结束点:quadraticCurveTo(20,100,200,20

    Context. quadraticCurveTo(cpx,cpy,x,y)

    (cpx,cpy)控制点坐标,(x,y终点坐标

    三、三次贝塞尔曲线

    开始点:moveTo(20,20)

    控制点 1bezierCurveTo(20,100,200,100,200,20)

    控制点 2bezierCurveTo(20,100,200,100,200,20)

    结束点:bezierCurveTo(20,100,200,100,200,20

    Context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y);

    (cp1x,cp1y)第一个控制点,(cp2x,cp2y第二个控制点,(x,y终点

     1 <html>
     2     <head>
     3         <meta charset="UTF-8">
     4         <title>圆弧-二次贝塞尔曲线-三次贝塞尔曲线</title>
     5         <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
     6         
     7     </head>
     8     <body>
     9         <canvas id="canvas" width="500" height="500"></canvas>
    10         <script type="text/javascript">
    11             var oCanvas = document.getElementById("canvas");
    12             var context = oCanvas.getContext("2d");
    13             context.fillStyle = "#ededed";
    14             context.fillRect(0, 0, 500, 500);
    15             //圆弧
    16             context.beginPath();//开始点
    17             context.moveTo(140,100);//X0Y0:起点,更改X0可控制
    18             context.arcTo(160,100,160,140,20);//X1Y1控制点:,X2Y2:终点,半径
    19             context.stroke();
    20             context.closePath();//结束点
    21             //二次贝塞尔曲线
    22             context.beginPath();//开始
    23             context.moveTo(200,200);//开始点
    24             context.quadraticCurveTo(240,300,400,160);//(cpx,cpy,x,y):(cpx,cpy)控制点坐标,(x,y)终点坐标
    25             context.stroke();//描边
    26             context.closePath();//关闭
    27             //三次贝塞尔曲线
    28             context.beginPath();//开始
    29             context.moveTo(400,400);//开始点
    30             context.bezierCurveTo(440,300,300,160,100,260);//(cp1x,cp1y,cp2x,cp2y,x,y):(cp1x,cp1y)第一个控制点,(cp2x,cp2y)第二个控制点,(x,y)终点
    31             context.stroke();//描边
    32             context.closePath();//关闭
    33         </script>
    34     </body>
    35 </html>
  • 相关阅读:
    查看电脑保存的wifi密码
    数据仓库
    nodejs 中国汉字模糊查询简单(很low)实现
    nodejs express 框架 上传文件
    async样例
    mongodb Map/reduce测试代码
    未释放资源的教训,开发MongoDB连接一定要关闭连接
    采集系统优化:大家接手过的最烂的项目,最坑爹的项目是哪个?
    Android的HttpClient调用,冲突的解决办法
    MongoDBcrud操作,采集部分代码
  • 原文地址:https://www.cnblogs.com/Abner5/p/5845034.html
Copyright © 2011-2022 走看看