OpenSeadragonselection:动态切换选择状态

时间:2015-12-02 14:12:30

标签: javascript angularjs openseadragon

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

1 个答案:

答案 0 :(得分:3)

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

var selection = viewer.selection(options);

然后你可以用以下任何一个改变选择状态:

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

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

var selection = viewer.selection();

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

您还可以使用布尔属性selection.isSelecting

检查选择是否已启用