2013-05-13 2 views
1

Я использую DeepZoom Composer для наложения разных изображений поверх другого, причем каждый слой сверху меньше. (Похоже на http://msdn.microsoft.com/en-us/expression/cc745977.aspx)SceneNode (слои), Deep Zoom Composer и Seadragon Ajax

Есть ли простой способ использования Seadragon Ajax 0.8.9 для увеличения размера каждого слоистого изображения сверху (с контейнером, показывающим точное соотношение 1: 1 верхнего слоя), вместо ручного создания наложение управления и назначение поведения клика для масштабирования/панорамирования в многоуровневую область общей композиции?

Update: Я также попытался использовать значения 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(); 

Я не могу получить оверлей, чтобы показать, используя выше, что я делаю неправильно? Есть ли хороший пример инициализации OpenSeadragon с xml (dzi) со всеми оверлеями и связанными событиями кликов для наложений? Любой образец кода будет высоко оценен!

ответ

1

Определенно кажется, что это должно быть возможно, и кажется, что вы на правильном пути. Может быть, есть какая-то закономерность в том, как с номерами?

Кстати, Seadragon Ajax развивалась много начиная с 0.8.9, и теперь OpenSeadragon:

http://openseadragon.github.io/

Возможно, что вы пытаетесь сделать, уже работает с этим? Если нет, вы можете подать там ошибку ... она активно развивается.

+0

С новым OpenSeadragon существует ли способ удалить поле позиции в верхней правой части экрана, а также оверлейные изображения (вместо установки фонового изображения с использованием класса css)? – bcm

+0

Обязательно ... включите 'showNavigator: false' в ваши опции' OpenSeadragon.Viewer', чтобы скрыть окно навигатора. Вы можете добавлять простые изображения и другие объекты HTML через 'OpenSeadragon.Drawer.addOverlay()'. – iangilman

Смежные вопросы