zoukankan      html  css  js  c++  java
  • 怎样绘制一个与两条直线相切的圆弧

    需要使用ctx.arcTo(), 参数是两个控制点的坐标, 比如下面的例子: 

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    
    <body>
        <canvas id="canv" width="300" height="300"></canvas>
        <script>
            function draw() {
                var canvas = document.getElementById('canv');
                if (!canvas.getContext) return;
                var ctx = canvas.getContext("2d");
                ctx.beginPath();
                ctx.moveTo(50, 50);
                //参数1、2:控制点1坐标   参数3、4:控制点2坐标  参数4:圆弧半径
                ctx.arcTo(200, 50, 200, 200, 140);
                ctx.lineTo(200, 200)
                ctx.stroke();
    
                // 绘制控制点
                ctx.beginPath();
                ctx.rect(50, 50, 5, 5);
                ctx.rect(200, 50, 5, 5)
                ctx.rect(200, 200, 5, 5)
                ctx.fill();
            }
            draw();
        </script>
    </body>
    
    </html>

    注意: 

    1. ctx.arcTo() 可以绘制与两条直线相切的圆弧;

    2. ctx.rect() 可以绘制闭合的矩形; 

    function draw() {
        var canvas = document.getElementById('canv');
        if (!canvas.getContext) return;
        var ctx = canvas.getContext("2d");
        ctx.beginPath();
        ctx.rect(100, 100, 100, 50);
        ctx.stroke();
    }
    draw();

  • 相关阅读:
    关于javascript获取页面高度宽度
    regexp_substr在oracle9i的替换方案
    iOS-数据存储
    iOS-导入XMPP框架
    iOS-WWDC
    iOS-在Xcode中使用Git进行源码版本控制(转)
    iOS-AFN
    iOS-网络基础
    iOS-UIDynamic
    iOS-动画
  • 原文地址:https://www.cnblogs.com/aisowe/p/11571801.html
Copyright © 2011-2022 走看看