html5绘制五星红旗代码,html5:使用canvas绘制五星红旗

本文介绍了如何使用HTML5的canvas元素绘制五星红旗。通过canvas的API,作者详细讲解了绘制红色背景和五角星的过程,包括大五角星和四个小五角星的绘制方法。适合对canvas感兴趣的前端开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flag.jpg

之前在使用canvas绘制adidas商标的时候就想过画五角星,现在来实现愿望了,画个五星红旗。虽然用svg比canvas好实现,但是现在canvas的应用比svg多,浏览器的支持也更好,所以不能放下canvas。这几周在mozilla学了点canvas的教程,学完了总该来应用下,好了废话不多说,点击观看演示

function draw() {

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

//绘制红色的画布

ctx.fillStyle = '#f00';

ctx.fillRect(0,0,450,300);

ctx.translate(75,75);

//绘制大五角星

ctx.save();

ctx.rotate(Math.PI*2/7);

drawStar(ctx,40);

ctx.restore();

//绘制四个小五角星

ctx.save();

ctx.translate(80,-50);

drawStar(ctx,10);

ctx.restore();

ctx.save();

ctx.translate(110,-10);

drawStar(ctx,10);

ctx.restore();

ctx.save();

ctx.translate(110,30);

drawStar(ctx,10);

ctx.restore();

ctx.save();

ctx.translate(80,70);

drawStar(ctx,10);

ctx.restore();

}

//绘制五角星函数

function drawStar(ctx,r){

ctx.save();

ctx.beginPath()

ctx.moveTo(r,0);

for (var i=0;i<9;i++){

ctx.rotate(Math.PI/5);

if(i%2 == 0) {

ctx.lineTo((r/0.525731)*0.200811,0);

} else {

ctx.lineTo(r,0);

}

}

ctx.closePath();

ctx.fillStyle='#FFFF00';

ctx.fill();

ctx.restore();

}

本文来源于网络:查看 >https://www.cnblogs.com/wenbinzhou/archive/2011/02/05/1949288.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值