js 利用canvas绘制直线、曲线

<body>
   <!--画板-->
    // 当浏览器不支持的时候才会出现文字
   <canvas id="canvas" style="background-color: black;">您当前的版本不支持       </canvas>

   <script type="text/javascript">

       // 拿到画板
       var canvas = document.getElementById('canvas');
       canvas.width = 1000;
       canvas.height = 1000;

       // 拿到上下文
       var context = canvas.getContext('2d');
       // 设置线条的颜色
       context.strokeStyle = 'red';
       // 设置线条的宽度
       context.lineWidth = 5;

       // 绘制直线
       context.beginPath();
      // 起点
       context.moveTo(200, 200);
      // 终点
       context.lineTo(500, 200);
       context.closePath();
       context.stroke();
    
   // 绘制弧线
    context.beginPath();
   /*
   * params
   * 圆心x坐标
   * 圆心y坐标
   * 半径
   * 起始角度
   * 结束角度
   * 方向,true 逆时针   false 顺时针  默认false,不写表示false
   */ 
    context.arc(200,200,100,0,Math.PI/2,false);
    context.closePath();
    context.stroke();

    context.strokeStyle = 'red';
    context.arc(200,200,100,0,Math.PI/2, true);
    context.closePath();
    context.stroke();
   </script>

</body>

 

转载于:https://www.cnblogs.com/zhangshan/p/5848613.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序的canvas API可以绘制曲线直线,具体可以参考以下示例代码: 绘制曲线: ```javascript // 获取canvas绘图上下文 const ctx = wx.createCanvasContext('myCanvas') // 设置起点 ctx.moveTo(50, 200) // 绘制二次贝塞尔曲线 ctx.quadraticCurveTo(150, 50, 250, 200) // 设置线条颜色和宽度 ctx.setStrokeStyle('#ff0000') ctx.setLineWidth(2) // 绘制曲线 ctx.stroke() // 绘制起点和控制点 ctx.beginPath() ctx.arc(50, 200, 3, 0, 2 * Math.PI) ctx.setFillStyle('#0000ff') ctx.fill() ctx.beginPath() ctx.arc(150, 50, 3, 0, 2 * Math.PI) ctx.setFillStyle('#0000ff') ctx.fill() // 绘制终点和控制点 ctx.beginPath() ctx.arc(250, 200, 3, 0, 2 * Math.PI) ctx.setFillStyle('#0000ff') ctx.fill() ctx.beginPath() ctx.moveTo(150, 50) ctx.lineTo(250, 200) ctx.setStrokeStyle('#0000ff') ctx.setLineWidth(1) ctx.stroke() // 绘制文字 ctx.setFontSize(20) ctx.setFillStyle('#000000') ctx.fillText("Quadratic Curve", 100, 250) // 绘制完成 ctx.draw() ``` 绘制直线: ```javascript // 获取canvas绘图上下文 const ctx = wx.createCanvasContext('myCanvas') // 设置起点 ctx.moveTo(50, 50) // 绘制直线 ctx.lineTo(250, 50) // 设置线条颜色和宽度 ctx.setStrokeStyle('#ff0000') ctx.setLineWidth(2) // 绘制直线 ctx.stroke() // 绘制起点和终点 ctx.beginPath() ctx.arc(50, 50, 3, 0, 2 * Math.PI) ctx.setFillStyle('#0000ff') ctx.fill() ctx.beginPath() ctx.arc(250, 50, 3, 0, 2 * Math.PI) ctx.setFillStyle('#0000ff') ctx.fill() // 绘制文字 ctx.setFontSize(20) ctx.setFillStyle('#000000') ctx.fillText("Line", 100, 100) // 绘制完成 ctx.draw() ``` 以上示例代码中,`wx.createCanvasContext('myCanvas')`表示获取canvas绘图上下文,其中'myCanvas'为canvas组件的id。`ctx.moveTo(x, y)`表示设置起点,`ctx.lineTo(x, y)`表示绘制直线,`ctx.quadraticCurveTo(cpx, cpy, x, y)`表示绘制二次贝塞尔曲线。`ctx.setStrokeStyle(color)`和`ctx.setLineWidth(width)`分别设置线条颜色和宽度。`ctx.beginPath()`和`ctx.arc(x, y, r, startAngle, endAngle)`表示绘制圆形起点、终点和控制点。`ctx.setFillStyle(color)`设置填充颜色。`ctx.fillText(text, x, y)`表示绘制文字。`ctx.draw()`表示绘制完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值