0

我目前正在使用 OpenSeadragon 和选择插件 ( 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-click 处理程序绑定到某个元素,以切换查看器的选择模式。但我不知道如何更改选项,然后让查看器实际更新状态。

4

1 回答 1

3

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

var selection = viewer.selection(options);

然后,您可以使用以下任何一种更改选择状态:

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

或者,如果您无法保存选择对象并在需要的地方访问它,您仍然可以从查看器中获取它,而无需传递如下选项:

var selection = viewer.selection();

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

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

于 2015-12-03T18:37:14.547 回答