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