应用Html5中的cavas画1面国旗,实际编码以下所示:
var canvas = document.getElementById("canvas");//建立1个cavas画板 var context = canvas.getContext('2d');//设定画板特性 var width=canvas.width; var height=width*2/3; context.fillStyle="red"; context.fillRect(0,0,width,height); var maxR = 0.15, minR = 0.05; var maxX = 0.55, maxY = 0.35;//大5星的部位 var minX = [0.80, 0.90, 0.90, 0.80,0.65,0.50,0.40];//各个小5角星的x座标 var minY = [0.20, 0.30, 0.45, 0.55,0.60,0.60,0.50];//各个小5角星的y座标 var ox = height * maxX, oy = height * maxY;
html编码
<canvas id="canvas" width="600" height="400"></canvas>
js编码
create5star(context,ox,oy,height * maxR,"#ff0",0);//绘图大5角星 for (var idx = 0; idx < 7; idx++) { var sx = minX[idx] * height, sy = minY[idx] * height; var theta = Math.atan((oy - sy)/(ox - sx)); create5star(context,sx, sy, height * minR, "#ff0",-Math.PI/2+theta); // 画小5角星 } //绘图5角星 function create5star(context,sx,sy,radius,color,rotato){ context.save(); context.fillStyle=color; context.translate(sx,sy);//挪动座标原点 context.rotate(Math.PI+rotato);//转动 context.beginPath();//建立相对路径 var x = Math.sin(0); var y= Math.cos(0); var dig = Math.PI/5 *4; for(var i = 0;i< 5;i++){//画5角星的5条边 var x = Math.sin(i*dig); var y = Math.cos(i*dig); context.lineTo(x*radius,y*radius); } context.closePath(); context.stroke(); context.fill(); context.restore(); }
总结
以上所述是网编给大伙儿详细介绍的应用Html5中的cavas画1面国旗,期待对大伙儿有一定的协助,假如大伙儿有任何疑惑请给我留言,网编会立即回应大伙儿的。在此也十分谢谢大伙儿对脚本制作之家网站的适用!
假如你感觉本文对你有协助,欢迎转载,烦请注明出处,感谢!