成都网站建设设计

将想法与焦点和您一起共享

怎么用HTML5Canvas实现玫瑰曲线和心形图案-创新互联

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

创新互联为企业级客户提高一站式互联网+设计服务,主要包括成都做网站、成都网站设计、重庆APP开发重庆小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

效果图:
怎么用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://chengdu.cdxwcx.cn/article/igdei.html

其他资讯