Сторінка 1 з 4
• Як створити зображення з глибоким збільшенням з одного (великого) зображення. (Або, точніше, як створити мозаїку, що утворить зображення з глибоким збільшенням.)
• Як зберегти створену мозаїку в базі даних.
• Необхідна модель бази даних.
• Як прочитати мозаїку з бази даних і передати її керуючому елементу MultiScaleImage.
Попутно ви дізнаєтеся інші корисні речі, наприклад, як зберігати растрове зображення в базі даних Access, або як використовувати LINQ для перетворення DataSet в список об'єктів, що є джерелом даних для керуючого елемента Silverlight.
Передісторія
Нескінченне збільшення в Google Earth заворожує. У Silverlight є прекрасна можливість глибокого збільшення. Однак незручно використовувати окремий інструмент (формувач глибокого збільшення) для створення такого зображення. Генеруються їм в системі файли непрактичні, проте він зійде, якщо треба розгорнути одне-два зображення з глибоким збільшенням на веб-сайті. Але що робити, якщо треба створити тисячу таких зображень?
Компанія під назвою Скоуп Солюшенс знаходиться в Базелі, Швейцарія. Вона створює програмне забезпечення для "історичних" архівів, що управляє метаданими про архівний сховище, що містить зображення, карти і плани будівель. Звичайно, архіви сканують свої цікаві документи, щоб зробити їх загальнодоступними. Архівіст сканує стару карту в максимально можливій якості, щоб мати резервну копію, як можна більш збігається з оригіналом (що якщо раптом оригінал пошкодиться / загубиться?). Це веде до дуже великих файлів і растрових зображень. Наприклад, растрове зображення з 13722 x 9737 пікселів - не рідкість. Таке зображення займає, в залежності від формату, до 400 Мб на диску. Не дивно, що деякі архіви мають колекції з десятками тисяч карт або з більш ніж 250 тисячами зображень.
Було б чудово, якби архівісти-аматори з усього світу могли переглядати "глибоко збільшується" зображення старовинних карт, чи не так? Для цієї мети використовувати формувач глибокого збільшення і систему на базі файлів не годиться. Тому було знайдено інше рішення, як зберігати зображення в базі даних.
Використання коду
Представлене тут демо складається з двох додатків:
• Додаток форм Windows, що генерує мозаїку для зображення з глибоким збільшенням і зберігає її в базі даних Microsoft Access.
• Веб-додаток Silverlight, що відображає зображення з бази даних.
Важливо: Перш ніж ви зможете запустити рішення на своєму комп'ютері, ви повинні змінити рядок підключення в конфігурації, щоб вона відповідала вашому розташуванню шляху. Рядок підключення для додатка Windows Forms можна змінити у файлі налаштувань. Рядок підключення для програми ASP.NET можна змінити у файлі web.config. (Порожній) зразок бази даних розташований в каталозі App_Data додатки ASP.NET.
Всередині рішення є 4 наступних проекту:
• DatabaseDeepZoom: Просте додаток Windows Forms, що надає користувальницький інтерфейс для створення мозаїки зображення з глибоким збільшенням.
• DbDzComposer: Ця бібліотека використовується обома проектами і робить велику частину роботи. Вона містить клас для генерації мозаїки і клас для збереження і отримання даних з бази даних.
• DeepZoomSilverlightProject: Додаток Silverlight, що відображає зображення. Цей стандартний проект ви отримуєте при використанні формувача глибокого збільшення. До нього було додано список для відображення ескізів правіше зображення з глибоким збільшенням.
• DeepZoomSilverlightWeb: Додаток ASP.NET, в якому розміщується додаток Silverlight. Це розширена версія стандартного проекту, створюваного формувачем глибокого збільшення. Були додані два HttpHandler, які повертають мозаїку і ескізи, які вимагає додаток Silverlight, і веб-служба WCF для повернення даних про зображення.
• Завантажити вихідний код - 332 Кб Введення Ієрархічні шаблони даних є потужним способом організації і прив'язки даних, наявних в основі уявлення Windows (WPF) і Silverlight. Прочитавши цю статтю і приклад коду, ви отримаєте глибокі знання про те, як працюють ієрархічні шаб.
• Завантажити оригінали - 4.96 КБ Навіщо тоді потрібен XAML? Слід позбутися його. Створення нового проекту Silverlight Почніть з створення нового проекту Silverlight звичним чином. Натисніть на Файл-> Новий-> Проект. в меню, або натисніть Ctrl + Shift + N. Виберіть програму Silverligh.
• Завантажити оригінали - 595 KB Вимоги Буде з нуля створено дуже просте додаток веб-чату за допомогою Silverlight 2 з спортивного інтересу. Додаток чату буде містити два користувальницьких керуючих елемента XAML: керуючий елемент входу в чат і керуючий елемент розділу чату.