Поделиться через


Эффект компенсации DPI

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

CLSID для этого эффекта CLSID_D2D1DpiCompensation.

Свойства эффекта

Отображаемое перечисление имен и индексов Описание
ИнтерполяцияMode
D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE
Режим интерполяции, который используется эффектом для масштабирования изображения.
Тип — D2D1_DPICOMPENSATION_INTERPOLATION_MODE.
Значение по умолчанию — D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR .
BorderMode
D2D1_DPICOMPENSATION_PROP_BORDER_MODE
Режим, используемый для вычисления границы изображения, мягкой или жесткой. Дополнительные сведения см. в разделе Режимы границ .
Тип — D2D1_BORDER_MODE.
Значение по умолчанию — D2D1_BORDER_MODE_SOFT.
InputDpi
D2D1_DPICOMPENSATION_PROP_INPUT_DPI
DPI входного изображения.
Тип — FLOAT.
Значение по умолчанию — 96,0f.

Режимы интерполяции

Перечисление Описание
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR Выборка ближайшей единственной точки и ее использование. Этот режим использует меньше времени обработки, но выводит изображение самого низкого качества.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR Использует выборку из четырех точек и линейную интерполяцию. В этом режиме используется больше времени обработки, чем в режиме ближайшего соседа, но выводится изображение более высокого качества.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC Использует 16 примеров кубического ядра для интерполяции. Этот режим использует больше всего времени обработки, но выводит изображение более высокого качества.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR Использует 4 линейные выборки в одном пикселе для правильного сглаживания краев. Этот режим хорошо подходит для уменьшения масштаба на небольшие объемы изображений с несколькими пикселями.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC Использует анизотропную фильтрацию для выборки шаблона в соответствии с преобразованной формой растрового изображения.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC Использует высокое качество кубического ядра переменного размера для предварительного уменьшения масштаба изображения, если уменьшение масштаба участвует в матрице преобразования. Затем использует режим интерполяции куба для окончательного вывода.

Примечание

Если не выбрать режим, по умолчанию эффект будет D2D1_DPICOMPENSTION_INTERPOLATION_MODE_LINEAR.

Режимы границ

Имя Описание
D2D1_BORDER_MODE_SOFT Пиксели за пределами входных границ создаются эффектом зеркало границы.
D2D1_BORDER_MODE_HARD Пиксели за пределами входных границ прозрачные черные.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Минимальная версия сервера Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects.h
Библиотека d2d1.lib, dxguid.lib

ID2D1Effect