canvas霓虹灯


<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        #can1{
            box-shadow: 0 0 10px yellow;
        }
    </style>
</head>

<body>
    <canvas id="can1" width="600" height="600"></canvas>

    <script type="text/javascript">
        var can1 = document.getElementById('can1');
        var ctx1 = can1.getContext('2d');
        var color = ["gray", "green", "red", "palegoldenrod", "hotpink", "darkblue"];
        function col(){
            ctx1.fillStyle = color[0];
            ctx1.fillRect(0, 0, 600, 600);
            ctx1.fillStyle = color[1];
            ctx1.fillRect(50, 50, 500, 500);
            ctx1.fillStyle = color[2];
            ctx1.fillRect(100, 100, 400, 400);
            ctx1.fillStyle = color[3];
            ctx1.fillRect(150, 150, 300, 300);
            ctx1.fillStyle = color[4];
            ctx1.fillRect(200, 200, 200, 200);
            ctx1.fillStyle = color[5];
            ctx1.fillRect(250, 250, 100, 100);
        }
        col();
        setInterval(function (){
            ctx1.clearRect(0,0,can1.width,can1.height);
            var temp = color[0];
            color[0] = color[1];
            color[1] = color[2];
            color[2] = color[3];
            color[3] = color[4];
            color[4] = color[5];
            color[5] = temp;
            col();
        },100);
    </script>
</body>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 HTML5 的 canvas 实现灯带效果,可以通过绘制渐变和动画来实现。下面是一个简单的示例代码,演示了如何创建一个彩虹色的灯带效果: ```html <!DOCTYPE html> <html> <head> <style> canvas { border: 1px solid black; } </style> </head> <body> <canvas id="myCanvas" width="400" height="200"></canvas> <script> const canvas = document.getElementById('myCanvas'); const ctx = canvas.getContext('2d'); const gradient = ctx.createLinearGradient(0, 0, canvas.width, 0); gradient.addColorStop(0, 'red'); gradient.addColorStop(0.2, 'orange'); gradient.addColorStop(0.4, 'yellow'); gradient.addColorStop(0.6, 'green'); gradient.addColorStop(0.8, 'blue'); gradient.addColorStop(1, 'purple'); let position = 0; function draw() { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = gradient; ctx.fillRect(position, 0, 100, 200); position++; if (position > canvas.width) { position = -100; } requestAnimationFrame(draw); } draw(); </script> </body> </html> ``` 在上述代码中,我们首先创建了一个 canvas 元素,并给它一个 id 为 "myCanvas"。然后,通过 JavaScript 获取到该 canvas 元素的上下文对象 ctx,以便进行绘制操作。接下来,我们创建了一个线性渐变对象 gradient,并通过 addColorStop 方法添加了多个颜色点,实现了彩虹色效果。 在 draw 函数中,我们使用 clearRect 方法清空画布,并使用 fillRect 方法绘制一个矩形,并将渐变对象作为填充样式。然后,每次调用 draw 函数时,我们将矩形的位置 position 向右移动一步,形成动画效果。 最后,通过调用 requestAnimationFrame 方法,实现了连续不断地绘制动画效果。整个画布的宽度会根据需要进行调整。 你可以根据自己的需求修改渐变色和动画效果来实现不同的灯带效果。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值