gpt4 book ai didi

javascript - SVG Raphael jQuery 构建路径/轨迹

转载 作者:行者123 更新时间:2023-11-30 08:58:40 27 4
gpt4 key购买 nike

如果我有一个像这样的动画圈 example , 有没有一种方法可以在 Canvas 上留下 1px 纯白色的永久痕迹?

我试过动态构建路径,但无法让它工作。

提前致谢,如有任何帮助,我们将不胜感激

最佳答案

我不知道为什么 SVG 与其乡土表亲 canvas 元素相比名声如此糟糕。令人惊讶的是,在认真尝试探索 SVG 的功能之前,有多少次 SVG 被认为是不充分或不合适的。

请看this fiddle .

其中大部分是由路径上移动点的动态评估驱动的,如下所示:

function arrowline( canvas, pathstr, duration, attr, callback )
{
var guide_path = canvas.path( pathstr ).attr( { stroke: "none", fill: "none" } );
var path = canvas.path( guide_path.getSubpath( 0, 1 ) ).attr( attr );
var total_length = guide_path.getTotalLength( guide_path );
var start_time = new Date().getTime();
var interval_length = 25;

var interval_id = setInterval( function()
{
var elapsed_time = new Date().getTime() - start_time;
var this_length = elapsed_time / duration * total_length;
var subpathstr = guide_path.getSubpath( 0, this_length );
attr.path = subpathstr;
path.animate( attr, interval_length );

if ( elapsed_time >= duration )
{
clearInterval( interval_id );
if ( callback != undefined ) callback();
}
}, interval_length );
return path;
}

我挑战任何人找到一个比这更经济的 HTML canvas 解决方案。如果您计划向此小部件添加任何交互性,请在您评估经济性时考虑 SVG 中的事件绑定(bind)有多容易。

关于javascript - SVG Raphael jQuery 构建路径/轨迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211383/

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