我目前正在使用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处理程序绑定到某个元素,以切换查看器的选择模式。但我无法弄清楚如何更改选项,然后让查看器实际更新状态。
答案 0 :(得分:3)
您应该像这样初始化选择插件:
var selection = viewer.selection(options);
然后你可以用以下任何一个改变选择状态:
selection.enable();
selection.disable();
selection.toggleState();
或者,如果您无法保存选择对象并在需要的位置访问它,您仍然可以从查看器中获取它而不传递这样的选项:
var selection = viewer.selection();
但是你需要确保选择是在此之前启动的。否则你将创建2个选择实例并遇到问题。
您还可以使用布尔属性selection.isSelecting