这在文档中并不明显(如果您可以调用README.md
文档;)),但是svg-pan-zoom库可能(仅)支持垂直/水平拟合,但如何?最佳拟合已经通过fit
方法得到支持并且工作正常。
调用的方法contain
可能是要使用的方法,但是当我调用它时,它有时会做一个,有时会做另一个。
我知道我可以自己做这件事和/或为这个漂亮的 OSS 做贡献,只是检查支持是否已经存在。
这在文档中并不明显(如果您可以调用README.md
文档;)),但是svg-pan-zoom库可能(仅)支持垂直/水平拟合,但如何?最佳拟合已经通过fit
方法得到支持并且工作正常。
调用的方法contain
可能是要使用的方法,但是当我调用它时,它有时会做一个,有时会做另一个。
我知道我可以自己做这件事和/或为这个漂亮的 OSS 做贡献,只是检查支持是否已经存在。
事实证明你可以自己做,虽然它需要几行代码;)
该contain
方法是票,但请注意,如果您需要垂直/水平适合的专用按钮,您需要计算这两种方法中的哪一种 -fit
或者contain
您想要使用。
为此,您需要确定 SVG 是“纵向”还是“横向”——这意味着宽度是否小于高度(前者)或不小于(后者)。
这很容易做到,您只需调用panZoom.getSizes()
(panZoom
通过调用svgPanZoom
函数获得的位置)并检查viewBox.width
vs viewBox.height
。如果宽度较大,则您处于横向状态-您会得到图片(双关语)。
因此,如果您在横向并且想要水平适合,它与最佳适合相同,所以您只需调用fit
. 如果要垂直适合,请调用contain
.
同样,如果您是纵向的并且想要垂直适合,这与最佳适合相同,因此只需调用fit
else call contain
。