gpt4 book ai didi

javascript - 如何以等距方式在曲线上使用setLineDash?

转载 作者:行者123 更新时间:2023-11-28 02:21:05 25 4
gpt4 key购买 nike

我想在正弦波上画一条虚线。我有一个代表整个正弦波的 x 和 y 值数组。我使用 moveTo 和 lineTo 方法绘制了正弦波。

我知道 setLineDash()。但是,我想确保虚线彼此等距,而不管 x 和 y 值如何。如果我在彼此靠近的 2 个点之间使用 setLineDash() 方法,我将以实线着陆。

最佳答案

只要您等到最后一次 lineTo() 调用之后才对路径进行描边,每个破折号之间的间距将是均匀的。

const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');

for (let x = 0; x < canvas.width / 8; x+=.1) {
const y = (Math.sin(x) * 60) + (canvas.height / 2);
ctx.lineTo(x * 8, y);
}

ctx.setLineDash([4, 4]);
ctx.stroke();
document.body.appendChild(canvas);

关于javascript - 如何以等距方式在曲线上使用setLineDash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57583824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com