Как контролировать порядок загрузки нескольких изображений в openeadragon

В моей ситуации у меня есть 10 изображений, загруженных в программу просмотра с одинаковыми границами. каждое изображение расположено одно за другим.

// source is an array of url images.

for(i=0;i < source.length-1;i++){
        this.viewer.addTiledImage({
                tileSource: source[i],
                index: i,
                opacity:0
            });
}

Мое намерение состоит в том, чтобы контролировать непрозрачность каждого изображения с помощью ползунка (ввод диапазона), ползунок устанавливает непрозрачность соответствующего изображения на 1 и позволяет другим непрозрачность. Это хорошо работает.

Идея заключается в том, чтобы предварительно загружать изображения и плавно менять изображения.

Проблема

Все изображения загружаются одновременно при масштабировании или панорамировании, поэтому я хочу контролировать порядок загрузки и отдавать приоритет видимому изображению, затем загружать следующее изображение и так далее.

Как я могу это сделать? Я не могу найти способ приостановить загрузку плиток.

Спасибо за вашу помощь.


person oskararenas    schedule 24.06.2016    source источник


Ответы (2)


Вы можете попробовать использовать событие «открыть» и добавить следующее изображение после загрузки предыдущего. Что-то типа:

var i =0, viewer = this.viewer;
viewer.addTiledImage({
    tileSource: source[i],
    index: i,
    opacity:0
});
viewer.addHandler('open', function() {
    i++;
    if (source[i]) {
        viewer.addTiledImage({
            tileSource: source[i],
            index: i,
            opacity:0
        });
    } else {
        viewer.removeAllHandlers('open');
    }
});

Обратите внимание, что это непроверенный пример кода, но вы должны уловить идею. И вы действительно должны использовать removeHandler() вместо removeAllHandlers(), но это всего лишь пример.

person Peter Petrov    schedule 27.06.2016

Я могу исправить свою проблему, контролируя непрозрачность вместо управления загрузкой по сети, у openeadragon нет метода управления порядком загрузки на уровне изображения дзи, поэтому путь заключается в управлении непрозрачностью, потому что 0 непрозрачность не делает никакой загрузки. Спасибо участникам openeadragon за помощь в решении этой проблемы.

https://github.com/openseadragon/openseadragon/issues/971

person oskararenas    schedule 02.08.2016