无名商城论坛

搜索
查看: 263|回复: 0

[其他技术] html代码雨

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 15:26:59 | 显示全部楼层 |阅读模式
效果如图片[滑稽][大拇指]<!DOCTYPE html><html><head>    <title>黑客帝国效果</title></head> <body><canvas id="drawing"></canvas><canvas id="drawing1"></canvas><img id="flower"></img><script type="text/javascript">draw();draw1();function draw1(){        var drawing = document.getElementById("drawing1");                //pic = document.getElementById('flower'); //获取描边图片    var pic = new Image();    pic.src ="微信图片_20201203160109.png";    drawing.width = '600';        drawing.height = '500';        if (drawing.getContext){                var content = drawing.getContext("2d"),                        radian = 0,                        radian_add = Math.PI/40;                content.translate(250,250);                function heart(){                        X = getX1(radian);                        Y = getY1(radian);                        content.drawImage(pic,X,Y,25,25);   //在给定坐标绘制给定大小的图片                        radian+=radian_add;                        if (radian > (2*Math.PI)){ //绘制完整的心型线后取消间歇调用                                 clearInterval(intervalId);                        }                }                intervalId = setInterval(heart,100);  //设置间歇调用,间隔为100ms        }}function draw(){        var drawing = document.getElementById("drawing"); //获取canvas元素        drawing.width = '500'; //设置画布大小        drawing.height = '500';        if (drawing.getContext){  //获取绘图上下文                var content = drawing.getContext("2d"),                        radian = 0,   //设置初始弧度                        radian_add = Math.PI/180;  //设置弧度增量                content.beginPath();  //开始绘图                content.translate(250,250);  //设置绘图原点                content.moveTo(getX(radian),getY(radian)); //移动绘图游标至原点                while(radian <= (Math.PI*2)){  //每增加一次弧度,绘制一条线                        radian += radian_add;                        X = getX(radian);                        Y = getY(radian);                        content.lineTo(X,Y);                }                content.strokeStyle = "red";  //设置描边样式                content.stroke();  //对路径描边        }}function getX(t){   //获取玫瑰线的X坐标        return 100 * Math.sin(4*t)*Math.cos(t);}function getY(t){  //获取玫瑰线的Y坐标        return 100 * Math.sin(4*t)*Math.sin(t);}function getX1(t){  //获取心型线的X坐标        return 15*(16*Math.pow(Math.sin(t),3))}还有半部分放在评论区了[滑稽][玫瑰][玫瑰] 复制粘贴就ok了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表