Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция. RIA.doc
Скачиваний:
34
Добавлен:
01.05.2025
Размер:
343 Кб
Скачать
☆

Технология Deep Zoom

Deep Zoom обеспечивает новый уникальный способ управления изображениями в приложениях. Эта технология реализована в XAML с помощью элемента MultiScaleImage, который, дает возможность управлять размером и масштабом изображений, при этом Silverlight обеспечивает необходимое виртуальное пространство, в котором эти изображения могут быть отображаться.

Deep Zoom позволяет создавать изображения с высочайшим разрешением и отображать их без предварительной полной загрузки.

Рассмотрим в качестве примера онлайн карты. По сути, карта - это огромное изображение, разделенное на фрагменты, которые можно объединять для просмотра всей области. Когда требуется просмотреть определенную часть карты, картографическое программное обеспечение загружает и отображает соответствующий фрагмент. Это же программное обеспечение предоставляет фрагменты, необходимые для реализации изменения масштаба карты. Deep Zoom работает аналогичным образом. Когда пользователь увеличивает масштаб, Silverlight загружает соответствующие фрагменты для формирования визуального представления изображения с заданным масштабом. Таким образом, можно полностью сохранить точность изображения, но при этом будут загружаться только те его фрагменты, которые просматриваются пользователем в данный момент.

Кроме того, технология Deep Zoom позволяет встраивать изображение с одним масштабом в изображение с другой степенью увеличения, что открывая возможности для разнообразных спецэффектов.

Для работы с такими изображениями удобно использовать программу Deep Zoom Composer, создающую на выходе граф сцены для XAML с несколькими изображениями в специального XML файла, который в дальнейшем используется элементом управления MultiScaleImage, формирующим представление содержимого Deep Zoom:

<MultiScaleImage x:Name="msi" Source="/GeneratedImages/dzc_output.xml"/>

Как и для всех элементов управления Silverlight для MultiScaleImage дает возможность определить методы обработки событий. Например, для перемещения изображения можно обрабатывать обычные события, связанные с мышью: MouseLeftButtonDown, MouseLeftButtonUp и MouseMove. При этом они обрабатываются так же, как это делается при перемещении любого элемента методом «drag-and-drop».