我尝试使用 viewBox 在拉斐尔纸上用鼠标滚轮进行缩放。 Here是 JSFiddle 代码。
它有效,但现在我想放大中心,但我不知道从哪里开始。我想我应该更改 viewBox x 和 y 坐标。 我已经尝试过这个(在函数句柄(delta)中):
x = paper.width - viewBoxWidth;
y = paper.height - viewBoxHeight;
paper.setViewBox(x,y,viewBoxWidth,viewBoxHeight);
但没有成功。我将不胜感激任何帮助。谢谢!
最佳答案
对于缩小:
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);
关于SVG viewBox 放大中心 (Raphael),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417089/