OpenSeadragonselection:动态切换选择状态

OpenSeadragonselection: Toggle selection state dynamically

本文关键字:选择 状态 动态 OpenSeadragonselection      更新时间:2023-09-26

我目前正在使用OpenSeadragon和Selection插件实现扫描页面的查看器(https://github.com/picturae/openseadragonselection)以使用户能够选择页面的一部分。

我添加了用于放大/缩小和切换是否可以选择或是否应该缩放图像的自定义控件。到目前为止还不错。

但是,在我的代码中,我在动态地更改选择状态时遇到了问题。

我按照以下行初始化我的查看器:

var options = {
    showNavigator: true,
    toggleButton: 'toggle-selection',
    zoomPerClick: 2.0,
    element: 'myElement',
    url: <url to image>
};
var viewer = OpenSeadragon(options);

正如我所期望的那样,这会初始化查看器,一切都很顺利。我可以单击id="toggle selection"的元素来启用/禁用选择模式。

我想将Angular ng单击处理程序绑定到某个元素,以切换查看器的选择模式。但我不知道如何更改选项,然后让查看器真正更新状态。

您应该像这样初始化选择插件:

var selection = viewer.selection(options);

然后,您可以使用以下任意选项更改选择状态:

selection.enable();
selection.disable();
selection.toggleState();

或者,如果你不能保存选择对象并在需要的地方访问它,你仍然可以从查看器中获得它,而不需要传递这样的选项:

var selection = viewer.selection();

但您需要确保在此之前启动了选择。否则,您将创建2个选择实例并出现问题。

您还可以检查是否使用布尔属性selection.isSelecting 启用了选择