1

DeepZoom Composer を使用して、異なる画像を別の画像の上に重ねます。上の各レイヤーは小さくなります。( http://msdn.microsoft.com/en-us/expression/cc745977.aspxに似ています)

コントロール オーバーレイを手動で作成し、クリック動作をズームに割り当てる代わりに、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層目のイメージから外れています。(2枚目の画像は部分的に見えていますが)

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 を初期化し、すべてのオーバーレイとオーバーレイの関連するクリック イベントを使用する良い例はありますか? どんなコードサンプルでも大歓迎です!

4

1 に答える 1