当前位置:首页 > 代码 > 正文

canvas线条合成的爱心动画特效代码(canvas画线动画)

admin 发布:2022-12-19 15:34 133


本篇文章给大家谈谈canvas线条合成的爱心动画特效代码,以及canvas画线动画对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用html5 canvas画出一颗爱心

!DOCTYPE html  

html  

  

head  

    titleDraw Heart/title  

    style type="text/css"  

        * {  

            margin: 0;  

            padding: 0;  

        }  

  

        html {  

            height: 100%;  

            margin: 0;  

        }  

  

        body {  

            height: 100%;  

            background-color:white;  

        }  

 

        #canvasZone {  

            width: 100%;  

            height: 100%;  

            text-align: center;  

            background-color: black;  

        }  

 

        #myCanvas {  

            height:100%;  

            display: block;  

            /*background-color:aqua;*/  

        }  

    /style  

    script type="text/javascript"  

        var arr = [];//保存所有的XY坐标,只为验证。实际程序中可删除。  

        var r = 4;  

        var radian;//弧度  

        var i;  

        var radianDecrement;//弧度增量  

        var time = 10;//每个点之间的时间间隔  

        var intervalId;  

        var num = 360;//分割为 360 个点  

        var startRadian = Math.PI;  

        var ctx;  

        window.onload = function () {  

            startAnimation();  

        }  

        function startAnimation() {  

            ctx = document.getElementById("myCanvas").getContext("2d");  

            //让画布撑满整个屏幕,-20是滚动条的位置,需留出。如滚动条出现则会挤压画布。  

            WINDOW_HEIGHT=document.documentElement.clientHeight-20;  

            WINDOW_WIDTH=document.documentElement.clientWidth-20;  

            ctx.width = WINDOW_WIDTH;  

            ctx.heigh = WINDOW_HEIGHT;  

            drawHeart();  

        }  

  

        function drawHeart() {  

  

            ctx.strokeStyle = "red";  

            ctx.lineWidth = 1;//设置线的宽度  

            radian = startRadian;//弧度设为初始弧度  

            radianDecrement = Math.PI / num * 2;  

            ctx.moveTo(getX(radian), getY(radian));//移动到初始点  

            i = 0;  

            intervalId = setInterval("printHeart()", time);  

        }  

        //x = 16 sin^3 t, y = (13 cos t - 5 cos 2t - 2 cos 3t - cos 4t)  

        function printHeart() {  

            radian += radianDecrement;  

            ctx.lineTo(getX(radian), getY(radian));//在旧点和新点之间连线  

            //arr.push("X:" + getX(radian) + "br/Y:" + getY(radian) + "br/");  

            i++;  

            ctx.stroke();//画线  

            if (i = num) {  

                clearInterval(intervalId);  

                //document.getElementById("bs").innerHTML = arr.join("");//打印所有的XY坐标点。  

            }  

        }  

        function getX(t) {//由弧度得到 X 坐标  

            return 100 + r * (16 * Math.pow(Math.sin(t), 3));  

        }  

  

        function getY(t) {//由弧度得到 Y 坐标  

            return 50 - r * (13 * Math.cos(t) - 5 * Math.cos(2 * t) - 2 * Math.cos(3 * t) - Math.cos(4 * t));  

        }  

    /script  

  

/head  

  

body  

  

    div id="canvasZone"  

        canvas id="myCanvas"/canvas  

    /div  

    div id="bs"  

    /div  

  

/body  

  

/html

理工男李峋爱心代码怎么打

理工男神李峋的极致浪漫,爱心代码怎么敲

1878次播放

00:23

哔哩哔哩

11月07日

(理工男的浪漫)李峋同款爱心代码教程来啦~ - 哔哩哔哩 - bilibili

谁还不会写李峋同款爱心代码啊啊啊!! Gddy- 1005 0 李峋爱心代码来啦!!!三种方法拥有...

哔哩哔哩

爱心代码 - 理工男李洵的浪漫,一分钟教你敲出很火的爱心代码!

151次播放

00:13

哔哩哔哩

11月07日

大家还在搜

为什么理工男很难交流

理工男会主动吗

跳动爱心代码html

爱心发型男

李峋爱心代码过程

理工男

html爱心浮动代码

用程序打出爱心

理工男李峋爱心代码怎么打 - 游戏竞技达人答疑 - 问一问

在线

1765位游戏答主在线答

已服务超1.5亿人24小时在线

Hi,为您实时解答游戏类手游、网游等问题,与竞技达人、发烧友1对1在线沟通

理工男李峋爱心代码怎么打

马上提问

为什么理工男很难交流

138人正在咨询

理工男会主动吗

139人正在咨询

跳动爱心代码html

146人正在咨询

为什么理工男很难交流

138人正在咨询

问一问

李峋式的浪漫—爱心代码!码农必须来一个呀!canvas实现的类似爱心,送给我的紫还有粉丝们!

9385次播放

00:31

合集

点燃我温暖你

哔哩哔哩

11月08日

【附源码】 动态爱心代码教程,一分钟学会3种爱心代码!!!

1.4万次播放

01:06

哔哩哔哩

11月11日

是谁还不会写李峋的爱心代码,教程来啦!

8天前最后代码放在下面啦!有需要的自己拿呦!当然也可以直接@你的男朋友! #戴尔灵越Plus #爱心...

小红书

HTML编写李峋同款的理工男浪漫“动态爱心” - Sjm05的博客 - CSDN博客

4天前好了,话不多说,现在开始代码部分。 代码部分 !DOCTYPEhtml 李询爱心代码 html,body{ height:100%; padding:0; margin:0; backgroun...

CSDN博客

全网都在找的李峋同款爱心代码教程来了 - 哔哩哔哩

1. 此项目的操作系统必须是 Windows ,如果你使用的是其他操作系统,请及时调整此处的分辨率。 如 马建仓在试操作时,因不是 Windows 系统,需将此处

2. 如果你不想写代码,作者也为你提供了一个可以直接运行的爱心,只需要在 Gitee 仓库里下载 exe 文件即可运行。你也可以前往 Gitee(gitee.com)

哔哩哔哩

大家还在搜

关于html5 canvas 绘图动画的问题,我要实现把一张图片绘制在canvas中,然后使其动起来,代码如下,

首先,你这个代码中最后的setInterval("draw()", 100);应该改为setInterval(draw, 100);第一个参数应该是方法名,虽然你那样写也会有效,但强烈建议不要那么写。然后你说你的代码只是在屏幕上闪一下,那么你在画的时候先调一下cxt.beginPath();画结束的时候掉一下cxt.closePaht();试试,这个w3c网站上有讲解,不确定能不能解决你的问题。

补充:测了一下代码,发现问题是出在你的

img.onload=function()

{

cxt.drawImage(img,x,y,80,80);

}

这里,这边不能在img.onload回调方法中调用画图函数,直接画图就好了, cxt.drawImage(img,x,y,80,80);就这样。

HTML5用canvas怎么实现动画效果

使用HTML5画布canvas能够快速实现简单的动画效果,基本原理如下:

每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearRect(0, 0, x, y)方法来刷新需要绘制的图形

首先是绘制图形的方法,如下:

function myAnimation() {

ctx.clearRect(0, 0, canvas_size_x, canvas_size_y);

if (x_icon  0 || x_icon  canvas_size_x - size_x) {

stepX = -stepX;

}

if (y_icon  0 || y_icon  canvas_size_y - size_y) {

stepY = -stepY;

}

x_icon += stepX;

y_icon += stepY;

ctx.drawImage(anim_img, x_icon, y_icon);

}

以上方法每隔一定时间清除画布内容,并且重新计算绘制图形位置,一旦超过了画布大小,则反转坐标绘制图形。

canvas线条合成的爱心动画特效代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于canvas画线动画、canvas线条合成的爱心动画特效代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/10554.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载