Windows Dev Center

DPI compensation effect

Use the DPI compensation effect to automatically adjust an input bitmap to match the DPI of the context. This is useful for situations where a bitmap is created or loaded at a different DPI than the screen.

The CLSID for this effect is CLSID_D2D1DpiCompensation.

Effect properties

Display name and index enumerationDescription

InterpolationMode

D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE

The interpolation mode the effect uses to scale the image.

The type is D2D1_DPICOMPENSATION_INTERPOLATION_MODE.

The default value is D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR .

BorderMode

D2D1_DPICOMPENSATION_PROP_BORDER_MODE

The mode used to calculate the border of the image, soft or hard. See Border modes for more info.

The type is D2D1_BORDER_MODE.

The default value is D2D1_BORDER_MODE_SOFT.

InputDpi

D2D1_DPICOMPENSATION_PROP_INPUT_DPI

The DPI of the input image.

The type is FLOAT.

The default value is 96.0f.

 

Interpolation modes

EnumerationDescription
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBORSamples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEARUses a four point sample and linear interpolation. This mode uses more processing time than the nearest neighbor mode, but outputs a higher quality image.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBICUses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEARUses 4 linear samples within a single pixel for good edge anti-aliasing. This mode is good for scaling down by small amounts on images with few pixels.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPICUses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBICUses a variable size high quality cubic kernel to perform a pre-downscale the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.

 

Note  If you don't select a mode, the effect defaults to D2D1_DPICOMPENSTION_INTERPOLATION_MODE_LINEAR.

Border modes

NameDescription
D2D1_BORDER_MODE_SOFT

Pixels outside of the input boundaries are generated by the mirror border effect.

D2D1_BORDER_MODE_HARD

Pixels outside of the input boundaries are transparent black.

 

Requirements

Minimum supported clientWindows 8 and Platform Update for Windows 7 [desktop apps | Windows Store apps]
Minimum supported serverWindows 8 and Platform Update for Windows 7 [desktop apps | Windows Store apps]
Headerd2d1effects.h
Libraryd2d1.lib, dxguid.lib

 

Related topics

ID2D1Effect

 

 

Community Additions

ADD
Show:
© 2015 Microsoft