Масштабирование отдельных областей MultiScaleImage

Я пытаюсь создать многомасштабное изображение на основе Deep Zoom, которое по сути имеет 2 вида. Первоначально он будет отображать большую карту мира. Когда пользователь щелкает по США, изображение должно увеличиваться до США. Нажатие внешней кнопки должно снова уменьшить масштаб изображения. Вот и все. Я не хочу панорамирования или дополнительного масштабирования.

Чего я не понимаю, так это того, как определить «зону поражения» вокруг США, которая увеличивает ее. Может ли кто-нибудь предоставить ссылки на ресурсы, объясняющие, как это сделать ... Кажется, я никогда не могу найти именно то, что мне нужно?

Заранее спасибо.


person James Hughes    schedule 21.09.2009    source источник


Ответы (1)


Я не могу точно вспомнить код.

Но если вы создаете проект с исходным кодом в Deepzoom composer, а затем посмотрите исходный код.

Справа внизу кода Deepzoom находится функция для увеличения в LogicalPoint.

Преобразуйте верхнюю левую точку изображения, которое вы увеличиваете, в логическую точку. Установите его как ViewportOrigin, так как это поместит его в левый верхний угол.

http://blogs.msdn.com/jaimer/archive/2008/06/23/working-with-collections-in-deep-zoom.aspx Этот пост здесь довольно хорошо объясняет ViewportOrigin. Просто помните, что все связано с шириной.

Вам также необходимо установить ViewportWidth.

Когда ViewportWidth = 1, отображается все изображение, поэтому оно составляет долю от общей ширины изображения. (Ширина США / Ширина WorldMap)

Надеюсь, это имеет смысл.

person Marklar    schedule 22.09.2009