gpt4 book ai didi

javascript - RaphaelJs ViewBox 缩放到点

转载 作者:行者123 更新时间:2023-11-30 13:08:01 28 4
gpt4 key购买 nike

很久以前我做了一个 jsfiddle 来演示如何缩放到中心 ( http://jsfiddle.net/Y69nm/1/ )。现在我想缩放到给定点(光标),就像 googleMap 一样,但不知道该怎么做。我将实际的鼠标坐标发送到处理缩放的函数。

这是 fiddle : http://jsfiddle.net/Y69nm/3/

这里是缩放功能:

function handle(delta, mousex, mousey) {

if (delta < 0) {
viewBoxWidth *= 0.95;
viewBoxHeight *= 0.95;
} else {
viewBoxWidth *= 1.05;
viewBoxHeight *= 1.05;
}
scale = paper.width / viewBoxWidth ;
console.log(scale);
// zoom to center
x = (paper.width / 2) - (viewBoxWidth / 2);
y = (paper.height / 2) - (viewBoxHeight / 2);
// i try to zoom to mouse cursor
var moveX = (mousex - (mousex * scale));
var moveY = (mousey - (mousey * scale));
x = 0 - moveX;
y = 0 - moveY;
paper.setViewBox(x, y, viewBoxWidth, viewBoxHeight);
}

最佳答案

我可以让你靠近一点:

        x = 0 - moveX / scale;
y = 0 - moveY / scale;

这是您的 updated fiddle .它会缩放到某个点,但是,一旦缩放,如果您移动到另一个点并缩放它会跳跃。

更新(2012 年 4 月 30 日):因为我也需要这个,所以我进一步研究它以消除缩放到另一个点时的跳动。这是 Fiddle使用更完整的解决方案再次更新。

关于javascript - RaphaelJs ViewBox 缩放到点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14958820/

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