zoukankan      html  css  js  c++  java
  • 如何在canvas中画出一个太极图

    先放一个效果图:

    代码如下

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
        </head>
        <body>
            <canvas width="600px" height="600px" id="canvas"></canvas>
            <script type="text/javascript">
                var canvas = document.getElementById("canvas");
                var ctx = canvas.getContext("2d");
                
                ctx.arc(300,300,100,0,2*Math.PI)
                ctx.stroke();
                
                ctx.beginPath();
                ctx.arc(300,300,100,0.5*Math.PI,1.5*Math.PI)
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,250,50,0.5*Math.PI,1.5*Math.PI);
                ctx.fillStyle = "white";
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,350,50,1.5*Math.PI,0.5*Math.PI);
                ctx.fillStyle = "black";
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,250,25,0,2*Math.PI);
                ctx.fillStyle = "black";
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,350,25,0,2*Math.PI);
                ctx.fillStyle = "white";
                ctx.fill();
            </script>
        </body>
    </html>

    具体来说,先画出一个圆

     ctx.arc(300,300,100,0,2*Math.PI)
                ctx.stroke();

    然后在圆的左半边填充黑色

    ctx.beginPath();
                ctx.arc(300,300,100,0.5*Math.PI,1.5*Math.PI)
                ctx.fill();

    然后在圆心纵坐标上下各二分之一半径处分别画一个圆,一个填充黑色,一个填充白色

                ctx.beginPath();
                ctx.arc(300,250,50,0.5*Math.PI,1.5*Math.PI);
                ctx.fillStyle = "white";
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,350,50,1.5*Math.PI,0.5*Math.PI);
                ctx.fillStyle = "black";
                ctx.fill();

    最后在这两个圆内分别填充一个更小的圆,一个黑色,一个白色

    ctx.beginPath();
                ctx.arc(300,250,25,0,2*Math.PI);
                ctx.fillStyle = "black";
                ctx.fill();
                
                ctx.beginPath();
                ctx.arc(300,350,25,0,2*Math.PI);
                ctx.fillStyle = "white";
                ctx.fill();
  • 相关阅读:
    http://caibaojian.com/jquery/ JQuery在线查询手册
    验证码
    显式提交/隐式提交 //ajax方式的隐式提交
    事物 银行转账业务
    模板 Template
    登录页面跳转与错误提示信息
    连接池 八种基本类型
    文件,文件夹的基本操作--------数据流的传输
    vim编辑器
    Linux中创建和使用静态库&动态库
  • 原文地址:https://www.cnblogs.com/qsdf/p/10111327.html
Copyright © 2011-2022 走看看