怎么用HTML5Canvas实现玫瑰曲线和心形图案

本篇内容介绍了“怎么用HTML5 Canvas实现玫瑰曲线和心形图案”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有包河免费网站建设让你可以放心的选择与我们合作。

效果图:
怎么用HTML5 Canvas实现玫瑰曲线和心形图案 

怎么用HTML5 Canvas实现玫瑰曲线和心形图案

提示:把代码复制到一个html文件中并保存,直接打开即可看到效果。

实现代码:
 





HTML5 Demo

#apDiv1 {
position:absolute;
width:120px;
height:300px;
z-index:1;
left: 840px;
top: 80px;
}



 
Your browser does not support the canvas element.  

玫瑰曲线方程:
r=a+bsin(m/n*x)

选择参数:

m: 

n: 

a: 

b: 










  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(); } 

“怎么用HTML5 Canvas实现玫瑰曲线和心形图案”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


文章题目:怎么用HTML5Canvas实现玫瑰曲线和心形图案
文章地址:http://myzitong.com/article/gippdc.html

其他资讯