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)
Надеюсь, это имеет смысл.