用html让一条直线旋转,html5 – 使用HTML画布绘制一系列旋转的线条

这是一个艰难的…

例如角度和物体的阵列.长度:

var arr = [

{ angle: 0,h: 50 },{ angle: 90,h: 60 },{ angle: 180,h: 70 },{ angle: 270,h: 80 },h: 90 }

];

以下绘制方法将绘制前一个数组中的行,

function getAngle(ctx,x,y,angle,h) {

var radians = angle * (Math.PI / 180);

return { x: x + h * Math.cos(radians),y: y + h * Math.sin(radians) };

}

function draw() {

var canvas = document.getElementById('canvas');

if (canvas.getContext) {

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

ctx.beginPath();

var pos = { x: 400,y: 400 };

for (var i = 0; i < arr.length; i++) {

ctx.moveTo(pos.x,pos.y);

pos = getAngle(ctx,pos.x,pos.y,arr[i].angle,arr[i].h);

ctx.lineTo(pos.x,pos.y);

}

ctx.stroke();

}

}

你可以在canvas元素之后调用draw

draw();

编辑:

尝试将绘图功能更改为此,

function draw() {

var canvas = document.getElementById('canvas');

if (canvas.getContext) {

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

ctx.beginPath();

var pos = { x: 400,y: 400 },angle = 0;

for (var i = 0; i < arr.length; i++) {

angle += arr[i].angle;

angle = (arr[i].angle + angle) % 360;

ctx.moveTo(pos.x,arr[i].angle + angle,pos.y);

}

ctx.stroke();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值