Слайд 2Мысли вслух
Silverlight – технология векторной графики.
Silverlight работает в интернет.
Silverlight предоставляет множество возможностей
и полета для фантазии.
Есть еще и Windows Presentation Foundation.
Столько всего, а мы собираемся говорить о картинках. Зачем?
Слайд 3А они работают
Старые фотографии
Слайд 4А помните что было 5-10 лет назад?
Слайд 5Что от нас скрыто?
Различные форматы изображений
Процесс декодирования
Преобразования цвета
Возможности по отрисовке
Трансформации изображений
Прозрачность
…
Слайд 6Начнем с WPF
WPF имеет полный спектр возможностей работы с изображениями.
Silverlight – сильно
ограничен.
WPF работает в Windows и имеет доступ ко многим компонентам.
Silverlight – в браузере и нет гарантии наличия компонентов.
Слайд 7Windows Imaging Component
WPF использует WIC
Данный компонент инкапсулирует всю цепочку работы с изображениями
WPF
имеет оболочку над этим компонентом
Корневой класс: BitmapSource
Стандартные компоненты WIC представлены его потомками
WPF умеет отрисовывать 2 формата цвета: Bgr32 и PBgra32 .
Слайд 8Система классов
Сохраненные трансформации
Кэшированная копия
Основной источник Bitmap-ов
Слайд 9ISupportInitialize
Run BeginInit
Initialize Bitmap, run EndInit
No more changes possible!
Слайд 10Dynamic images error in .NET 3.5
Слайд 11Rendering images on screen
Use BitmapImage to create BitmapSource from Uri or Stream.
Classes
that accept BitmapSource:
Image
ImageBrush
WPF caches images for future reuse.
WritableImage lets you change the contents.
Слайд 12А как там Silverlight?
Silverlight очень ограничен!
Большая часть функциональности отсутствует.
Любые трансформации делаются на
момент рендеринга.
Слайд 14Выводы:
В Silverlight:
работа с изображениями очень ограничена.
есть возможность работать с WriteableBitmap для создания
динамических изображений.
В WPF:
Можно трансформировать изображения заранее, чтобы экономить ресурсы рендеринга
Можно копировать кэшированные копии
…