用自定义用户界面设备钩入openseaddragon

Hook into OpenSeadragon with custom user interface device

本文关键字:openseaddragon 自定义 用户界面      更新时间:2023-09-26

我正在尝试实现1)一个定制的UI设备,生成各种事件(滚动,点击等)和2)openseaddragon查看器之间的接口,以便外部设备可用于导航图像。设备发送的事件可以在浏览器中检测到(当然是javascript)。在线文档展示了如何拦截鼠标/键盘事件以提供自定义处理,但我没有看到一个明显的方法来触发我想要的行为(缩放,滚动)编程,而不是直接通过标准的UI系统(鼠标,键盘)。

我的问题是,挂钩到openseaddragon查看器触发滚动或缩放行为的正确方法是什么?

可以使用viewport.panByviewport.zoomBy方法。参见:http://openseadragon.github.io/docs/OpenSeadragon.Viewport.html

var viewer = new OpenSeadragon({...});
viewer.addHandler("open", function() {
    viewer.viewport.panBy(...);
    viewer.viewport.zoomBy(1.1);
});

放大的默认值是1.1,缩小的默认值是0.9。对于pan,您可能需要查看以下函数:https://github.com/openseadragon/openseadragon/blob/master/src/viewer.js#L2398