Html5 画布 Canvas 太极图

Html5 画布 Canvas 太极图

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <title>画布(Canvas)-太极图 测试</title>  
</head>  
<body>
  <h2>画布(Canvas)-太极图 测试</h2>  
    <canvas id="miCanvas" width="600" height="600" style="border:1px solid #d3d3d3;">您的浏览器不支持 HTML5 canvas 标签。</canvas>
  <script type="text/javascript">
    var c = document.getElementById("miCanvas");
    var ctx = c.getContext("2d");
    
    //1、先绘制一个完整的空心圆
    ctx.beginPath();
    //arc(x,y,r,start,stop)
    ctx.arc(300, 300, 200, 0, Math.PI*2);
    ctx.stroke();

    //2、绘制半黑半白。从1.5PI至0.5PI顺时针填充,默认为黑色。
    ctx.beginPath();
    //arc(x,y,r,sAngle,eAngle,counterclockwise);
    //x	圆的中心的 x 坐标。
    //y	圆的中心的 y 坐标。
    //r	圆的半径。
    //sAngle	起始角,以弧度计。(弧的圆形的三点钟位置是 0 度)。
    //eAngle	结束角,以弧度计。
    //counterclockwise	可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。
    ctx.arc(300, 300, 200, Math.PI*1.5, Math.PI*0.5, false);
    ctx.fill();

    //3、绘制一黑一白两个半圆
    ctx.fillStyle = "white";
    ctx.beginPath();
    ctx.arc(300, 200, 100, 0, Math.PI*2);
    ctx.fill();

    ctx.fillStyle = "black";
    ctx.beginPath();
    ctx.arc(300, 400, 100, 0, Math.PI*2);
    ctx.fill();

    //4、绘制两个小圆
    ctx.fillStyle = "black";
    ctx.beginPath();
    ctx.arc(300, 200, 30, 0, Math.PI*2);
    ctx.fill();

    ctx.fillStyle = "white";
    ctx.beginPath();
    ctx.arc(300, 400, 30, 0, Math.PI*2);
    ctx.fill();


    // 设置文字
    ctx.fillStyle = "black";
    ctx.font = "60px Arial";
    //fillText(text,x,y) 在 canvas 上绘制实心的文本
    //strokeText(text,x,y) 在 canvas 上绘制空心的文本
    ctx.fillText("离", 275, 75);
    ctx.fillText("坎", 275, 565);
    ctx.fillText("震", 30, 300);
    ctx.fillText("兑", 515, 300);
  </script>
</body>
</html>

 


//arc(x,y,r,start,stop)
//arc(x,y,r,sAngle,eAngle,counterclockwise);
//x 圆的中心的 x 坐标。
//y 圆的中心的 y 坐标。
//r 圆的半径。
//sAngle 起始角,以弧度计。(弧的圆形的三点钟位置是 0 度)。
//eAngle 结束角,以弧度计。
//counterclockwise 可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。

发表回复

您的电子邮箱地址不会被公开。