收藏 分销(赏)

HTML5-Canvas实现玫瑰曲线和心形图案的代码实例.doc

上传人:丰**** 文档编号:9769809 上传时间:2025-04-07 格式:DOC 页数:3 大小:23.54KB 下载积分:5 金币
下载 相关 举报
HTML5-Canvas实现玫瑰曲线和心形图案的代码实例.doc_第1页
第1页 / 共3页
HTML5-Canvas实现玫瑰曲线和心形图案的代码实例.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
  这篇文章主要介绍了HTML5 Canvas实现玫瑰曲线和心形图案的代码实例,需要的朋友可以参考下   效果图:   提示:把代码复制到一个html文件中并保存,直接打开即可看到效果。   实现代码:   代码如下:   <!DOCTYPE html>   <html>   <head>   <meta charset = "gbk">   <title>HTML5 Demo</title>   <style type="text/css">   #apDiv1 {   position:absolute;   width:120px;   height:300px;   z-index:1;   left: 840px;   top: 80px;   }   </style>   </head>   <body>   <canvas id="canvas" width="800" height="600" style="border:1px solid #c3c3c3;">   Your browser does not support the canvas element. </canvas>   <div id="apDiv1">   <form>   玫瑰曲线方程:   r=a+bsin(m/n*x)   选择参数:   m: <input type="number" name="m" min="2" max="29" value="29"/>   n: <input type="number" name="n" min="1" max="12" value="11"/>   a: <input type="number" name="a" min="0" max="5" value="1"/>   b: <input type="number" name="b" min="1" max="7" value="5"/>   <input type="button" value=" 画 图 " onClick="draw();">   <hr>   <input type="button" value=" 画 图 2 " onClick="draw2();">   <hr>   <input type="button" value=" 心形图 " onClick="draw3();">   </form>   </div>   <script type="text/javascript">   function draw() {   var ctx = document.getElementById('canvas').getContext('2d');   ctx.save();   ctx.translate(400,300);   ctx.clearRect(-400,-300,800,600);   ctx.strokeStyle = "#cc0000";   var a = 0, b = 1, m = 6, n = 1;   m = document.forms[0].m.value;   n = document.forms[0].n.value;   a = document.forms[0].a.value;   b = document.forms[0].b.value;   drawRose(ctx,a,b,m,n);   ctx.restore();   }   function drawRose(ctx,a,b,m,n){   ctx.beginPath();   var e = 0, c = 120;   var k = 2 * Math.PI / 360;   do {   var r = a/b + Math.sin( m * e / n * k);   r = r * c;   var x = r * Math.cos( e * k );   var y = r * Math.sin( e * k );   e += 0.1;   ctx.lineTo(x,y);   } while ( e <= 4320 );   ctx.stroke();   }   function draw2(){   var ctx = document.getElementById('canvas').getContext('2d');   ctx.save();   ctx.translate(400,300);   ctx.clearRect(-400,-300,800,600);   ctx.strokeStyle = "#cc0000";   ctx.beginPath(); //ctx.moveTo(0,0);   var e = 0, c = 150;   var k = 2 * Math.PI / 360;   do {   x = 150*Math.cos( 5/2 * e*k ) + 50*Math.cos( 15/16 * 5/2 * e*k );   y = 150*Math.sin( 5/2 * e*k ) - 50*Math.sin( 15/16 * 5/2 * e*k );   e += 0.1;   ctx.lineTo(x,y);   } while ( e <= 3600 );   ctx.stroke();   ctx.restore();   }   function draw3(){   var ctx = document.getElementById('canvas').getContext('2d');   ctx.save();   ctx.translate(400,300);   ctx.clearRect(-400,-300,800,600);   ctx.strokeStyle = "#ff0000";   ctx.beginPath();   var x = 1, y;   do {   y = -80*(Math.sqrt(1-x*x) + Math.pow(x*x,1/3));   x -= 0.001;   ctx.lineTo(100*x,y);   } while ( x >= -1 );   do {   y = 80*(Math.sqrt(1-x*x) - Math.pow(x*x,1/3));   x += 0.001;   ctx.lineTo(100*x,y);   } while ( x <= 1 );   ctx.closePath();   var grad = ctx.createRadialGradient(-40,-60,10,-40,-40,200);   grad.addColorStop(0, "#ffcc00");   grad.addColorStop(1, "#ff0000");   ctx.fillStyle = grad;   ctx.fill();   // ctx.stroke();   ctx.restore();   }   window.onload = function (){   draw();   }   </script>   </body>   </html>   
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服