Επεξεργασία

Κοινή χρήση μέσω


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 enumeration Description
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

Enumeration Description
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR Uses 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_CUBIC Uses 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_LINEAR Uses 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_ANISOTROPIC Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC Uses 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

Name Description
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

Requirement Value
Minimum supported client Windows 8 and Platform Update for Windows 7 [desktop apps | Windows Store apps]
Minimum supported server Windows 8 and Platform Update for Windows 7 [desktop apps | Windows Store apps]
Header d2d1effects.h
Library d2d1.lib, dxguid.lib

ID2D1Effect