HTML5 Caavas 画图

<body>

        <canvas id="waveCanvas" width="400" height="400" style="border: 1px solid;"></canvas>

        <script>

            var waveCanvas = document.getElementById("waveCanvas");

            var context = waveCanvas.getContext("2d");

            setInterval("changeWaveValue()", 20);

            var a = 1.5;

            var b = 0;

            var isAdd = false;

            function changeWaveValue() {

                if(isAdd) {

                    a += 0.01;

                } else {

                    a -= 0.01;

                }

                if(a <= 1) {

                    isAdd = true;

                } else if(a >= 1.5) {

                    isAdd = false;

                }

                b += 0.1;

                wave();

            }

            function wave() {

                //清理画布

                context.clearRect(0, 0, 400, 200);

                //开始路径

                context.beginPath();

                context.fillStyle = "darkolivegreen";

                //移动到初始位置

                context.moveTo(0, 100);

                for(var x = 0; x <= 400; x++) {

                    context.lineTo(x, a*Math.sin(x / 180 * Math.PI + 2 * b / Math.PI) * 20 + 100);

                }

                context.lineTo(400, 200);

                context.lineTo(0, 200);

                context.lineTo(0, 100);

                context.fill();

            //太阳

            context.beginPath();

            context.fillStyle="orange";

            context.moveTo(0,0);

            context.arc(0,0,75,0,Math.PI*2,1);

            context.closePath();

            context.lineWidth=5;

            context.fill();

            }

//            // 乡村小河

           context.beginPath();

           context.fillStyle="lightskyblue";

           context.fillRect(0,200,400,200);

             //船舱

             context.beginPath();

            context.fillStyle="saddlebrown";

            context.moveTo(100,390);

            context.arc(100,360,100,0,Math.PI*2/2,0);

            context.closePath();

            context.lineWidth=5;

            context.fill();

            //context.stroke();

            //船

             context.beginPath();

            context.fillStyle="saddlebrown";

            context.moveTo(60,380);

            context.arc(60,390,44,0,Math.PI*2/2,1);

            context.closePath();

            context.lineWidth=5;

            context.fill();

            //context.stroke();

             context.beginPath();

            context.fillStyle="gold";

            context.moveTo(240,250);

            context.arc(240,240,75,0,Math.PI*2/2,0);

            context.closePath();

            context.fill();

            //context.stroke();

               context.beginPath();

            context.fillStyle="gold";

            context.moveTo(240,250);

            context.arc(240,240,75,0,Math.PI*2/2,1);

            context.closePath();

            context.fill();

            var canvas=document.getElementById("canvas");

            var ctx=canvas.getContext("2d");

            var img=new Image();

            img.src="img/小鱼.png";

            img.onload=function(){

                ctx.drawImage(img,0,0,30,50,200,300,30,50);

            }

        </script>

    </body>

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )