2013-05-13 16 views
1

我使用DeepZoom Composer將不同的圖像分層疊放在另一個上面,其中每個圖層都較小。 (類似於http://msdn.microsoft.com/en-us/expression/cc745977.aspxSceneNode(圖層),Deep Zoom Composer和Seadragon Ajax

是否有一種使用Seadragon Ajax 0.8.9輕鬆放大頂層的每個分層圖像(容器顯示頂層圖像的精確比例爲1:1)的簡單方法,而不是手動創建控制疊加和分配點擊行爲來縮放/平移到整體構圖的分層區域?

更新: 我也嘗試使用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)); 

但稍微偏離2級圖像。

也試過:

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); 

但是,這是關閉第二層圖像太。 (即使第二圖像部分可見)

月2日更新

我使用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以及覆蓋層的所有覆蓋層和關聯的點擊事件?任何代碼示例將非常感謝!

回答

1

絕對看起來應該是可能的,而且它看起來像你在正確的軌道上。也許有一些模式來說明這些數字是多少?

順便說一句,海龍阿賈克斯已經演變自0.8.9一個很好的協議,現在OpenSeadragon:

http://openseadragon.github.io/

也許你正在嘗試已經做什麼用的作品?如果沒有,你可以在那裏提交一個錯誤......它正在積極開發中。

+0

隨着新的OpenSeadragon,有沒有什麼辦法來刪除右上角的位置框,以及覆蓋圖像(而不是使用CSS類設置背景圖像)? – bcm 2013-05-16 01:51:24

+0

當然...在OpenSeadragon.Viewer選項中包含'showNavigator:false'來隱藏導航器框。您可以通過OpenSeadragon.Drawer.addOverlay()添加簡單的圖像和其他HTML對象。 – iangilman 2013-05-16 16:48:29