我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HTML5 Canvas如何实现玫瑰曲线和心形图案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HTML5 Canvas如何实现玫瑰曲线和心形图案

这篇文章主要介绍HTML5 Canvas如何实现玫瑰曲线和心形图案,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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

实现代码:

<!DOCTYPE html>

<html>

<head>

<meta charset =“ gbk”>

<title> HTML5演示</ title>

<style type =“ text / css”>

#apDiv1 {

position:absolute;

宽度:120像素;

高度:300像素;

z-index:1;

左:840px;

顶部:80px;

}

</ style>

</ head>

<body>

<canvas id =“ canvas” width =“ 800” height =“ 600” style =“ border:1px solid#c3c3c3;”>

您的浏览器不支持canvas元素。</ canvas>

<div id =“ apDiv1”>

<form>

函数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();

}

函数drawRose(ctx,a,b,m,n){

ctx.beginPath();

var e = 0,c = 120;

var k = 2 * Math.PI / 360;

做{

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

}

函数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;

做{

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

}

函数draw3(){

var ctx = document.getElementById('canvas')。getContext('2d');

ctx。

ctx.translate(400,300);

ctx.clearRect(-400,-300,800,600);

ctx.strokeStyle =“#ff0000”;

ctx.beginPath();

var x = 1,y;

做{

y = -80 *(Math.sqrt(1-x * x)+ Math.pow(x * x,1/3));

x-= 0.001;

ctx.lineTo(100 * x,y);

} while(x> = -1);

做{

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>

以上是“HTML5 Canvas如何实现玫瑰曲线和心形图案”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HTML5 Canvas如何实现玫瑰曲线和心形图案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录