2015-12-02 89 views
0

我目前使用OpenSeadragon和选择插件(https://github.com/picturae/openseadragonselection)实现扫描页面的查看器,以使用户能够选择页面的一部分。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处理程序绑定到某个元素,以切换我的查看器的选择模式。但我无法弄清楚如何改变选项,然后让查看器实际更新状态。

+0

你包裹自定义指令内启用OSD?你的按钮是否需要超出该指令? – avandecreme

回答

3

你应该初始化选择插件这样的:

var selection = viewer.selection(options); 

然后你就可以与任何这些改变选择状态:

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

或者,如果你不能保存选择对象并在需要的地方访问它,你仍然可以从观众那里得到它,而不需要像这样的选项:

var selection = viewer.selection(); 

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

您还可以检查是否选择与布尔属性selection.isSelecting

+0

谢谢,这是我无法找到文档的功能。 – SuneRadich