我正在与Adobe Scene7 BasicZoomViewer合作,并且正在寻找一种方法来告诉ZoomViewer重设缩放,以便用户不再放大图像,而是显示默认的“缩放”级别。
我发现最需要的是此重置属性ZoomView.reset,该属性“在帧(图像)发生变化时重置视口。如果设置为0,则保留当前视口在保持新设置图像的宽高比的同时,尽可能地保持最佳匹配。”
这看起来很接近我需要的东西,但它指出当插入新图片但我没有插入新图片时,它将重置或保留宽高比。
API插入图像的页面上有一个按钮,用于重置缩放级别。 Adobe提供了demo page来显示我正在使用的工具。如果您从左下角看,最右边的按钮就是重置按钮。单击后,它必须进行某种API调用,而我需要弄清楚它是哪一个。
我已经找到了BasicZoomViewer的缩小版本,而我目前正在尝试理解代码。
在“缩放重置按钮”上放置了一个事件侦听器,该事件监听器仅在文件的丑化版本中的第274行上仅调用了 reset()方法。目前,我正在尝试弄清文件并弄清楚如何访问此方法。
c.zoomResetButton.addEventListener("click", function () {
c.zoomView.zoomReset()
});
答案 0 :(得分:0)
创建一个变量来保存您的 s7viewers.BasicZoomViewer()的实例,在其中您可以访问事件处理程序等等。
调用重置缩放处理程序的示例
// instantiate the s7viewers class and save it in a variable
var s7BasicZoomViewer = new s7viewers.BasicZoomViewer({
containerId: 's7viewer',
params: {
asset: assetUrl,
serverurl: serverUrl
})
// example of how to call the "zoomReset()" method
s7BasicZoomViewer.zoomResetButton.component.events.click[0].handler()
在仔细阅读丑陋的最小化代码之后,我在 s7zoomresetbutton DOM类名上找到了一个事件侦听器,或者也许它正在监视该DOM元素的ID,该ID与容器的ID相同。您的 S7 BasicZoom Viewer 的div以及一些添加的文本,以使该ID唯一。例如,如果容器div为 s7viewer ,则重置缩放按钮的ID为 s7viewer_zoomresetbutton 。
现在,遍历代码,我发现此事件侦听器使我知道必须有某种方法可以调用 zoomReset()方法。
c.zoomResetButton.addEventListener("click", function () {
c.zoomView.zoomReset()
});
在上面的代码中, c 的值是 this ,换句话说,这是您的 S7 BasicViewerZoom 的实例,在我的情况下我有多个取决于需要放大的图像。
实例化 s7viewers 类时,您可以稍后引用该实例,并访问每个按钮以及其他属性和方法上的事件处理程序。
从那里开始,它只是浏览从实例返回的对象,并调用重置按钮的处理程序。