分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

HTML5 Canvas 描画星条旗

发布时间:2023-09-06 01:08责任编辑:彭小芳关键词:HTML

代码:

<!DOCTYPE html><html lang="utf-8"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><head> ????<title>美国国旗</title> ???</head> ????<body onload="draw()"> ???????<canvas id="myCanvus" width="380px" height="200px" style="border:1px dashed black;"> ???????????出现文字表示你的浏览器不支持HTML5 ???????</canvas> ????</body></html><script type="text/javascript"><!-- ???function draw(){ ???????var canvas=document.getElementById("myCanvus"); ???????var canvasWidth=380; ???????var canvasHeight=200; ???????var context=canvas.getContext("2d"); ???????????????context.fillStyle = "white"; ???????context.fillRect(0, 0, canvasWidth, canvasHeight); ???????????????var i; ???????// 13个横条 ???????for(i=0;i<13;i++){ ???????????if(i % 2==0){ ???????????????context.fillStyle = "red"; ???????????????context.fillRect(0, canvasHeight/13*i, canvasWidth, canvasHeight/13); ???????????}else{ ???????????????context.fillStyle = "white"; ???????????????context.fillRect(0, canvasHeight/13*i, canvasWidth, canvasHeight/13); ???????????} ???????????????????} ???????// 左上角蓝底 ???????var D=canvasWidth/5*2; ???????var C=canvasHeight/13*7; ???????context.fillStyle = "blue"; ???????context.fillRect(0, 0, D, C); ???????// 画星星 ???????var x; ???????var y; ???????var j=0; ???????context.strokeStyle = "white"; ???????context.fillStyle = "white" ???????for(i=0;i<6;i++){ ???????????for(j=0;j<5;j++){ ???????????????x=D/12+2*i*D/12; ???????????????y=C/10+2*j*C/10; ???????????????context.save(); ???????????????var r=5; ???????????????context.translate(x-r,y-r); ???????????????????????????????context.beginPath(); ???????????????context.moveTo(r, 0); ???????????????context.lineTo(r+Math.cos(Math.PI*3/10)*r, r+Math.sin(Math.PI*3/10)*r); ???????????????context.lineTo(r-Math.cos(Math.PI*1/10)*r, r-Math.sin(Math.PI*1/10)*r); ???????????????context.lineTo(r+Math.cos(Math.PI*1/10)*r, r-Math.sin(Math.PI*1/10)*r); ???????????????context.lineTo(r-Math.cos(Math.PI*3/10)*r, r+Math.sin(Math.PI*3/10)*r); ???????????????context.lineTo(r, 0); ???????????????context.fill(); ???????????????context.stroke(); ???????????????context.closePath(); ???????????????context.restore(); ???????????} ???????} ???????for(i=0;i<5;i++){ ???????????for(j=0;j<4;j++){ ???????????????x=D/6+2*i*D/12; ???????????????y=C/5+2*j*C/10; ???????????????context.save(); ???????????????var r=5; ???????????????context.translate(x-r,y-r); ???????????????????????????????context.beginPath(); ???????????????context.moveTo(r, 0); ???????????????context.lineTo(r+Math.cos(Math.PI*3/10)*r, r+Math.sin(Math.PI*3/10)*r); ???????????????context.lineTo(r-Math.cos(Math.PI*1/10)*r, r-Math.sin(Math.PI*1/10)*r); ???????????????context.lineTo(r+Math.cos(Math.PI*1/10)*r, r-Math.sin(Math.PI*1/10)*r); ???????????????context.lineTo(r-Math.cos(Math.PI*3/10)*r, r+Math.sin(Math.PI*3/10)*r); ???????????????context.lineTo(r, 0); ???????????????context.fill(); ???????????????context.stroke(); ???????????????context.closePath(); ???????????????context.restore(); ???????????} ???????} ???} ???function getRad(degree){ ???????return degree/180*Math.PI; ???}//--></script>

 关于美国国旗如何画请参考:https://wenku.baidu.com/view/d6eb1d40b4daa58da1114a32.html

HTML5 Canvas 描画星条旗

原文地址:http://www.cnblogs.com/xiandedanteng/p/7470362.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved