我正在使用DeepZoom Composer在另一个之上叠加不同的图像,而每个之上的层都较小。 (类似于http://msdn.microsoft.com/en-us/expression/cc745977.aspx)
有没有一种简单的方法可以使用Seadragon Ajax 0.8.9放大顶部的每个分层图像(容器显示的是顶层图像的确切1:1比例),而不是手动创建控件叠加层并分配点击行为以进行缩放/ pan到整体组成上的分层区域?
更新:
我还尝试使用SparseImageSceneGraph.xml值将zoomTo设置为:
<x>0.0663816754801515</x>
<y>0.0850837639496624</y>
<Width>0.0322681051707401</Width>
<Height>0.0322681051707415</Height>
<ZOrder>2</ZOrder>
使用
viewer.viewport.zoomTo(30.990353933356293,
new Seadragon.Point(0.0663816754801515, 0.0850837639496624));
但是它略微偏离了第二级图像。
还尝试了:
var x = 0.066381675480155;
var y = 0.085083763949665;
var w = 0.0322681051707403;
var h = 0.0322681051707407;
var rect = new Seadragon.Rect(x,y,w,h);
viewer.viewport.fitBounds(rect);
但这也是第二层图像。 (即使第二张图像部分可见)
第二次更新
我现在正在研究使用OpenSeaDragon来测试我想要实现的目标,这就是我所拥有的:
viewer = new OpenSeadragon.Viewer("container");
$.extend(true, OpenSeadragon.options, {
autoHideControls: false,
defaultZoomLevel : 1,
visibilityRatio : 1.1,
constrainDuringPan : true,
minZoomImageRatio : 1,
maxZoomPixelRatio : 30,
animationTime: 1.5,
tileSources: [{
id: 'example-overlay',
x: 0,
y: 0,
width: 0.015,
height: 0.015,
className: 'highlight'
}]
});
viewer.showNavigator = false;
viewer.open("test4/GeneratedImages/dzc_output.xml");
viewer.clearControls();
使用上述方法无法显示叠加层,我在做什么错?有没有一个很好的示例,使用xml(dzi)初始化带有所有叠加层的OpenSeadragon和叠加层的关联单击事件?任何代码示例将不胜感激!
最佳答案
绝对似乎应该有可能,而且您似乎处在正确的轨道上。也许有一些数字数字的模式?
顺便说一下,自0.8.9以来,Seadragon Ajax已经发展了很多,现在是OpenSeadragon:
http://openseadragon.github.io/
也许您正在尝试执行的操作已经可以了?如果没有,您可以在此处提交错误……该错误正在积极开发中。