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


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

Используйте эффект компенсации 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