• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)

    效果图:

    方法一:

    复制代码
    代码如下:
    <!DOCTYPE HTML>
    <html>
    <body>
    <canvas id="myCanvas" width="500" height="500">your browser does not support the canvas tag</canvas>
    <script type="text/javascript">
    var deg = 0;
    var r = 30;
    var rl = 100;
    function drawTaiji() {
    var canvas = document.getElementById('myCanvas');
    var context = canvas.getContext('2d');
    var colorA = "rgb(0, 0, 0)";
    var colorB = "red";

    var px =Math.sin(deg)*r;
    var py =Math.cos(deg)*r;
    context.clearRect(0, 0, 300, 300);
    context.beginPath();
    context.fillStyle = colorA;
    context.arc(rl, rl, 60, 0.5 * Math.PI +deg, 1.5 * Math.PI +deg, true);
    context.closePath();
    context.fill();
    context.fillStyle = colorB;
    context.beginPath();
    context.arc(rl, rl, 60, 1.5* Math.PI +deg, 0.5 * Math.PI +deg, true);
    context.closePath();
    context.fill();
    context.fillStyle = colorB;
    context.beginPath();
    context.arc(rl+px, rl-py, 30, 0.5 * Math.PI + deg, 1.5 * Math.PI + deg, true);
    context.closePath();
    context.fill();
    context.fillStyle = colorA;
    context.beginPath();
    context.arc(rl-px, rl+py, 30, 1.5 * Math.PI + deg, 0.5 * Math.PI + deg, true);
    context.closePath();
    context.fill();
    context.fillStyle = colorA;
    context.beginPath();
    context.arc(rl+px, rl-py, 8, 0, 2 * Math.PI, true);
    context.closePath();
    context.fill();
    context.fillStyle = colorB;
    context.beginPath();
    context.arc(rl-px, rl+py, 8, 0, 2 * Math.PI, true);
    context.closePath();
    context.fill();
    deg +=0.1;
    }
    setInterval(drawTaiji, 100);
    </script> </p> <p></body>
    </html>

    方法二:

    复制代码
    代码如下:

    <!DOCTYPE HTML>
    <html>
    <body>
    <canvas id="myCanvas" width="500" height="500" >your browser does not support the canvas tag </canvas>
    <script type="text/javascript">
    var canvas = document.getElementById('myCanvas');
    var ctx = canvas.getContext("2d");
    var angle = 0;
    var count = 360;
    var clrA = '#000';
    var clrB = 'red';

    function taiji(x, y, radius, angle, wise) {
    angleangle = angle || 0;
    wisewise = wise ? 1 : -1;
    ctx.save();
    ctx.translate(x, y);
    ctx.rotate(angle);
    ctx.fillStyle = clrA;
    ctx.beginPath();
    ctx.arc(0, 0, radius, 0, Math.PI, true);
    ctx.fill();
    ctx.beginPath();
    ctx.fillStyle = clrB;
    ctx.arc(0, 0, radius, 0, Math.PI, false);
    ctx.fill();
    ctx.fillStyle = clrB;
    ctx.beginPath();
    ctx.arc(wise * -0.5 * radius, 0, radius / 2, 0, Math.PI * 2, true);
    ctx.fill();
    ctx.beginPath();
    ctx.fillStyle = clrA;
    ctx.arc(wise * +0.5 * radius, 0, radius / 2, 0, Math.PI * 2, false);
    ctx.arc(wise * -0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true);
    ctx.fill();
    ctx.beginPath();
    ctx.fillStyle = clrB;
    ctx.arc(wise * +0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true);
    ctx.fill();
    ctx.restore();
    }

    loop = setInterval(function () {
    beginTag = true;
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    taiji(200, 200, 50, Math.PI * (angle / count) * 2, true);
    //taiji(350, 350, 50, Math.PI * ((count - angle) / count) * 2, false);
    angle = (angle + 5) % count;
    }, 50);
    </script> </p> <p></body>
    </html>

    上一篇:使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
    下一篇:HTML5 Canvas锯齿图代码实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果) HTML5,Canvas,旋,转动,画的,