SVG viewBox放大中心(Raphael)

时间:2011-12-07 14:39:35

标签: svg zoom raphael center viewbox

我尝试使用viewBox在Raphael纸上使用鼠标滚轮进行缩放。 Here是JSFiddle代码。

它有效,但现在我想放大中心,我不知道从哪里开始。我想我应该改变viewBox x和y坐标。 我试过这个(在函数句柄(delta)中):

x = paper.width - viewBoxWidth;
y = paper.height - viewBoxHeight;
paper.setViewBox(x,y,viewBoxWidth,viewBoxHeight);

但没有奏效。我将不胜感激任何帮助。谢谢!

2 个答案:

答案 0 :(得分:6)

由于您的问题已在邮件列表中得到解答,我会将其粘贴在此处以供将来参考:

https://groups.google.com/forum/#!topic/raphaeljs/K-84cOe8ZP8

答案 1 :(得分:4)

缩小:

var tempViewBoxWidth = viewBoxWidth;
var tempViewBoxHeight = viewBoxHeight;

viewBoxWidth /= 1.10;
viewBoxHeight /=1.10;

viewBoxX -= (viewBoxWidth - tempViewBoxWidth) / 2;
viewBoxY -= (viewBoxHeight - tempViewBoxHeight) / 2; 

paper.setViewBox(viewBoxX, viewBoxY, viewBoxWidth, viewBoxHeight, false);