Установите OpenSeaDragon Viewer Home на верхнюю часть изображения

Я использую OSD для отображения нескольких страниц из PDF. Каждая страница выстроена одна над другой.

Миниатюра

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

viewer.viewport.panTo(new OpenSeadragon.Point(.5, .5));
viewer.viewport.zoomTo(1);

Но я буду честен, что я не совсем понимаю, что это значит, и я понятия не имею, как установить это как "домашние" границы. Я просматривал документацию несколько раз, но это ускользает от меня.

Цените любое руководство!


person nathanziarek    schedule 16.11.2015    source источник


Ответы (1)


Вместо использования panTo и zoomTo я рекомендую вместо этого использовать fitBounds. Вы захотите основывать его на соотношении сторон вашего зрителя, чтобы результат был аккуратным. Что-то вроде этого:

var oldBounds = viewer.viewport.getBounds(); 
var newBounds = new OpenSeadragon.Rect(0, 0, 1, oldBounds.height / oldBounds.width); 
viewer.viewport.fitBounds(newBounds, true);

true в fitBounds состоит в том, чтобы сделать его немедленным, а не анимировать.

person iangilman    schedule 17.11.2015