【发布时间】:2018-06-15 19:50:03
【问题描述】:
我正在尝试在画布元素中逐步绘制线条(目前使用递归函数),并且我能够成功地绘制平行于 x 或 y 轴的线对,这种方式:
function line(xa, ya, xb, yb) {
context.beginPath();
context.moveTo(xa, ya);
context.lineTo(xb, yb);
context.stroke();
}
(function drawLine(i){
line(155, i, 155, i-2);
line(245, i, 245, i-2);
if (i > 35) {
setTimeout(function(){
drawLine(i-2);
}, 10);
}
})(57);
我明白了:
(context.lineWidth 设置为 10,context.lineCap 设置为 round)
但是,我尝试了几种方法来绘制非严格水平或垂直的线对,但我只能得到这样的结果:
(function drawLine(i){
line(155, i, 155+(57-i)/2, i-2);
line(245, i, 245-(57-i)/2, i-2);
if (i > 35) {
setTimeout(function(){
drawLine(i-2);
}, 10);
}
})(57);
(更改context.lineWidth或context.lineCap的值并不能解决问题)
有没有办法在画布元素中逐步绘制任何类型的线?
【问题讨论】:
-
这条线会是直的吗?
标签: javascript html canvas