如何为svgpanzoom库设置正确的zoomScaleSensitivity?

时间:2017-11-24 07:35:49

标签: svgpanzoom

我在我的项目中使用了svgpanzoom库(link on github repository)。我正在设置一些初始值:

var minValue = 0.8;
var maxValue = 6;
var numberOfSteps = 5;

instance.setMinZoom(minValue);    
instance.setMaxZoom(maxValue);

之后我正在尝试计算并为zoomScaleSensitivity设置新值:

var newValueForZoomScale = (maxValue - minValue) / numberOfSteps;
instance.setZoomScaleSensitivity(newValueForZoomScale);

不幸的是,在这种情况下,我有6或7个缩放步骤(取决于屏幕分辨率)。我的问题是我如何为zoomScaleSensitivity设置正确的值并且始终只有5(numberOfSteps)个缩放步骤?

1 个答案:

答案 0 :(得分:0)

尝试

var newValueForZoomScale = (maxValue - minValue) / (numberOfSteps - 1);

那是因为如果你除以N,你会得到N + 1步骤,如:

  • 如果开始是1
  • 如果结束是6
  • 除以5(您想要的步数)并获得步距(6-1)/5 = 1
  • 你将获得6个步骤:1,2,3,4,5,6

所以你必须除以4,然后你得到(6-1)/4 = 1.25和5个步骤:1,2.55,3.5,4.75,6