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();
  • 相关阅读:
    @Controller与@RestControllerd的区别
    Maven基础知识
    linux安装全过程
    easyui——清空input中的值
    春招准备(三)——操作系统知识
    春招准备(二)——数据库方面知识
    春招准备(一)计算机网络基本知识总结
    使用Salt-ssh部署Salt-minion之源码安装(二)
    使用Salt-ssh部署Salt-minion之yum安装(一)
    SUSE10 SP4源码升级Python到2.6.6
  • 原文地址:https://www.cnblogs.com/qsdf/p/10111327.html
Copyright © 2011-2022 走看看