MultiScaleImage Zoom Отдельные области

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

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

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

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)

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

Другие вопросы по тегам