根据鼠标位置缩放到SVG的不同部分

时间:2010-08-07 20:14:04

标签: javascript svg zoom pan

所以I've found a script似乎就是这样,但它通过对它应用变换矩阵来缩放包裹整个svg内容的<g>(尽管它不会因为嗅探而放大Opera) 。在<g>中包含所有元素不是一种选择,因为我正在制作图像查看器并且可能会加载不同的文件。

在根transform="matrix(...)"上设置<svg>无效。在currentScale上设置<svg>会缩放图片,但会从左上角进行缩放,而不是从鼠标位置或图像中心进行缩放。并且平移功能也不起作用,因为似乎无法拖动整个<svg>元素。

操纵viewBox属性似乎很有用,但要弄清楚它的必要值是非常棘手的。

那么你能想到一种在这样的环境中进行缩放和平移的方法吗?

您可以下载demo here。需要在您的计算机上安装Opera。

1 个答案:

答案 0 :(得分:3)

除了currentTranslate之外,还有一个currentScale属性可以修改。