Новые возможности Direct2D
Ниже приведены некоторые новые дополнения к Direct2D.
Новые возможности Windows 10 Creators Update
Следующие функции и API были добавлены или обновлены для Windows 10 Creators Update.
Поддержка отрисовки изображений SVG
Начиная с Windows 10 Creators Update, Direct2D обеспечивает поддержку синтаксического анализа и рисования изображений SVG, позволяя разработчикам отрисовывать ресурсы, созданные в своих любимых векторных инструментах, не преобразовывая их в растровые изображения. Используйте эту функцию, чтобы улучшить занимаемое место на диске и поведение масштабирования значков в приложении, а также использовать новые API-интерфейсы объектной модели SVG Direct2D для внесения программных изменений в SVG приложения. Обратите внимание, что Direct2D поддерживает только ограниченное подмножество SVG, подходящее для изображений, и не поддерживает все функции рисования SVG. Если вам нужна совместимость SVG уровня браузера или веб-ориентированные функции SVG, рассмотрите возможность использования элемента управления XAML WebView . Дополнительные сведения см. в следующих разделах:
- Пример отрисовки изображения Direct2D SVG
- Поддержка SVG
- Метод ID2D1DeviceContext5::CreateSvgDocument
- Метод ID2D1DeviceContext5::D rawSvgDocument
- Интерфейс ID2D1SvgElement
Улучшенная поддержка управления цветом
Начиная с Windows 10 Creators Update, Direct2D предоставляет улучшенные возможности управления цветом. Разработчикам больше не нужен профиль ICC для использования эффекта управления цветом Direct2D; Теперь они могут использовать цветовые пространства DXGI или создавать собственное параметризованное определение цветового пространства. Дополнительные сведения см. в следующих разделах:
- Эффекты управления цветом
- ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace
- ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile
Новые возможности юбилейного обновления Windows 10
Для юбилейного обновления Windows 10 были добавлены или обновлены следующие функции и API.
Улучшенная поддержка цветных шрифтов
Начиная с Windows 10 юбилейного обновления Direct2D теперь поддерживает отрисовку более широкого спектра форматов цветовых шрифтов, что позволяет разработчикам использовать больше типов шрифтов в приложениях на базе Direct2D, чем когда-либо прежде. Среди прочего, поддерживаются следующие шрифты:
- Таблица OpenType "COLR", которая позволяет сжимать векторное содержимое в шрифтах. (Поддерживается с Windows 8.1.)
- Таблица OpenType SVG, которая включает содержимое SVG в шрифтах.
- Таблица OpenType "CBDT", которая включает содержимое цветного растрового изображения в шрифтах.
- Таблица 'sbix' OpenType, которая включает цветное точечные изображения в шрифтах.
Direct2D поддерживает эти форматы цветовых шрифтов автоматически при включении флага D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT . Дополнительные сведения см. в следующих разделах:
Новые эффекты изображений
Начиная с Windows 10 юбилейного обновления Direct2D включает эффекты AlphaMask, CrossFade, Opacity и Tint. Эта функция ранее была доступна в определенных конфигурациях эффектов Composite, ArithmeticComposite и ColorMatrix, но новые встроенные эффекты упрощают выполнение этих распространенных операций.
Новые возможности Windows 10
Следующие функции и API были добавлены или обновлены для Windows 10.
Пакеты спрайтов
Начиная с Windows 10, Direct2D поддерживает создание и отрисовку пакетов спрайта. По сравнению с методом DrawImage общего назначения, пакеты спрайта значительно влечет за собой меньшие затраты на ЦП для каждого изображения. Это делает их идеальными для сценариев с сотнями или тысячами параллельных изображений, таких как спрайты игр или системы частиц. Дополнительные сведения см. в следующих разделах:
- Метод ID2D1DeviceContext3::CreateSpriteBatch
- Методы ID2D1DeviceContext3::D rawSpriteBatch
- Интерфейс ID2D1SpriteBatch
Градиентные сетки
Начиная с Windows 10, Direct2D предоставляет новый примитив для градиентных сеток. Градиентные сетки часто используются профессиональными иллюстраторами в программном обеспечении графического дизайна и позволяют художникам визуализировать сложные (даже фотореалистические) многоцветные фигуры со всеми преимуществами памяти и масштабируемости векторов. Дополнительные сведения см. в следующих разделах:
- Пример сетки градиента Direct2D
- структура D2D1_GRADIENT_MESH_PATCH
- Метод ID2D1DeviceContext2::D rawGradientMesh
Улучшенные API загрузки изображений
Начиная с Windows 10, Direct2D предлагает новый API для загрузки изображений ID2D1ImageSource. Источник изображения улучшает существующие API загрузки изображений, включая CreateBitmapFromWicBitmap, эффект источника растрового изображения и эффект YCbCr. Источник изображений Direct2D сочетает в себе возможности этих API с поддержкой произвольно больших изображений, простой интеграции с печатью и эффектами, а также многочисленные оптимизации, включая YCbCr JPEG и индексированный JPEG. Дополнительные сведения см. в следующих статьях:
- Пример пакета SDK для Direct2D Для корректировки фотографий
- ID2D1ImageSource
- ID2D1ImageSourceFromWic
- IWICJpegFrameDecode::SetIndexing
Улучшенная поддержка отрисовки рукописного ввода
Начиная с Windows 10, Direct2D предоставляет новый примитив для представления росчерков пера. Росчерки пера Direct2D определяются кривыми Безье, поддерживают различные формы пера и преобразования и могут иметь фиксированную или переменную толщину. Встроенная поддержка росчерков пера в Direct2D позволяет приложениям легко отрисовываться быстрее и красивее, чем при предыдущих подходах, которые обычно требуют от приложений для управления рукописным вводом в виде ряда эллипсов и четырехугольника. Дополнительные сведения см. в следующих разделах:
Связывание шейдера эффектов
Эффекты Direct2D реализуются с помощью пикселей HLSL, вершин и (или) вычислительных шейдеров. Начиная с Windows 10, Direct2D теперь автоматически анализирует графы эффектов на предмет возможностей объединения и выполнения отдельных шейдеров. Это может обеспечить значительное увеличение пропускной способности. Потребителям встроенных эффектов не нужно ничего делать, чтобы воспользоваться преимуществами связывания шейдеров эффектов, но разработчикам, создающим собственные пользовательские эффекты, следует следовать обновленным рекомендациям по использованию связывания шейдеров эффектов. Дополнительные сведения см. в следующих разделах:
- Связывание шейдеров эффектов
- Вспомогательные функции Direct2D HLSL
- Пример пакета SDK для пользовательских эффектов Direct2D
Компоновка шейдера эффектов не влияет на визуальные выходные данные эффектов. Однако это не всегда возможно из-за конкретного поведения, связанного с точностью эффекта и числовой обрезки. Дополнительные сведения о том, как управлять этим поведением, см. в следующих разделах:
Новые встроенные эффекты
Начиная с Windows 10, Direct2D включает широкий набор новых встроенных эффектов, которые отвечают на самые популярные запросы разработчиков и включают новые виды визуальных сценариев. Новые эффекты:
Цвет:
Фото:
- Эффект контрастности
- Эффект экспозиции
- Эффект оттенков серого
- Эффект выделения и тени
- Инвертировать эффект
- Эффект сепии
- Эффект резкости
- Эффект выпрямления
- Эффект температуры и оттенка
- Эффект виньетки
Фильтр:
Стилизовать:
Прозрачность:
Выпрямленность, насыщенность, контрастность, выделение и тени, а также эффекты температуры и оттенка показаны в примере пакета SDK для direct2D Photo Adjustment.
Новые возможности Windows 8.1
Следующие функции и API были добавлены или обновлены для Windows 8.1.
Начиная с Windows 8.1, Direct2D создается на основе Direct3D 11.2.
Реализации геометрии
Начиная с Windows 8.1, Direct2D предлагает реализации геометрии. Реализации геометрии позволяют приложениям повысить производительность отрисовки геометрии в определенных ситуациях без некоторых недостатков растеризации геометрии в растровое изображение. Дополнительные сведения см. в следующих разделах:
Поддержка изображений JPEG YCbCr
Начиная с Windows 8.1, Direct2D поддерживает отрисовку данных изображений в формате JPEG Y'CbCr. Приложения могут отображать содержимое JPEG в собственном представлении Y'CbCr вместо распаковки в BGRA. Это может значительно сократить потребление графической памяти и время создания ресурсов. Дополнительные сведения см. в следующих разделах:
- Эффект Direct2D YCbCr
- Интерфейс IWICPlanarBitmapSourceTransform
Поддержка форматов со сжатием блоков (DDS-файлы)
Начиная с Windows 8.1, Direct2D поддерживает растровые изображения, содержащие DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC2_UNORM и DXGI_FORMAT_BC3_UNORM пиксельные данные. Приложения могут заменить свои ресурсы образов на блочные сжатые образы DDS. Это может значительно сократить потребление графической памяти и время создания ресурсов. Дополнительные сведения см. в следующих разделах:
- Метод ID2D1DeviceContext::CreateBitmapFromWicBitmap
- Интерфейс IWICDdsFrameDecode
Приоритет отрисовки
Начиная с Windows 8.1, Direct2D обеспечивает поддержку приоритета отрисовки для каждого устройства. Эта новая функция позволяет приложениям переключать устройство между обычным приоритетом отрисовки (по умолчанию) и низким приоритетом отрисовки (при этом устройство не блокирует другие задачи отрисовки в системе). Рекомендуется, чтобы приложения использовали низкий приоритет отрисовки для задач, которые не имеют решающего значения для реагирования пользователей, таких как предварительная отрисовка содержимого, отрисовка в сведенном виде и другие операции, которые обычно выполняются в фоновом режиме. Дополнительные сведения см. в следующих разделах:
Новые возможности для Windows 8
Следующие функции и API были добавлены или обновлены для Windows 8.
Новые интерфейсы Direct2D поддерживаются в Windows 7 с установленным обновлением платформы для Windows 7 .
Семантика Direct2D для устройств и контекстов устройств была обновлена, чтобы она больше напоминала семантику, используемую Direct3D, и обеспечивала краткие операции с приложениями Магазина Windows. Дополнительные сведения см. в разделе Устройства и контексты устройств .
Выбранные связанные API:
API списка команд позволяет совместно использовать путь отрисовки для отрисовки и печати на экране. Он также позволяет использовать примитивы для создания кисти изображения для заполнения примитивов.
Выбранные связанные API:
Эффекты Direct2D — это набор API- интерфейсов, новых в Windows 8, для применения эффектов высокого качества к изображениям. Он также включает API- интерфейсы, которые позволяют создавать собственные настраиваемые эффекты.
Выбранные связанные API:
Начиная с Windows 8, Direct2D включает дополнительные API для создания многопоточных приложений. Дополнительные сведения см. в разделе Многопоточные приложения Direct2D .
Выбранные связанные API: