Compartilhar via


Efeito de compensação de DPI

Use o efeito de compensação de DPI para ajustar automaticamente um bitmap de entrada para corresponder à DPI do contexto. Isso é útil para situações em que um bitmap é criado ou carregado em um DPI diferente da tela.

O CLSID para esse efeito é CLSID_D2D1DpiCompensation.

Propriedades de efeito

Nome de exibição e enumeração de índice Descrição
Interpolationmode
D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE
O modo de interpolação que o efeito usa para dimensionar a imagem.
O tipo é D2D1_DPICOMPENSATION_INTERPOLATION_MODE.
O valor padrão é D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR .
BorderMode
D2D1_DPICOMPENSATION_PROP_BORDER_MODE
O modo usado para calcular a borda da imagem, suave ou dura. Consulte Modos de borda para obter mais informações.
O tipo é D2D1_BORDER_MODE.
O valor padrão é D2D1_BORDER_MODE_SOFT.
InputDpi
D2D1_DPICOMPENSATION_PROP_INPUT_DPI
A DPI da imagem de entrada.
O tipo é FLOAT.
O valor padrão é 96,0f.

Modos de interpolação

Enumeração Descrição
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR Amostra o ponto único mais próximo e usa isso. Esse modo usa menos tempo de processamento, mas gera a imagem de menor qualidade.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR Usa um exemplo de quatro pontos e interpolação linear. Esse modo usa mais tempo de processamento do que o modo vizinho mais próximo, mas gera uma imagem de maior qualidade.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC Usa um kernel cúbico de 16 exemplos para interpolação. Esse modo usa a maior parte do tempo de processamento, mas gera uma imagem de maior qualidade.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR Usa quatro exemplos lineares em um único pixel para um bom anti-aliasing de borda. Esse modo é bom para reduzir verticalmente em pequenas quantidades em imagens com poucos pixels.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC Usa a filtragem anisotrópica para amostrar um padrão de acordo com a forma transformada do bitmap.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC Usa um kernel cúbico de alta qualidade de tamanho variável para executar um dimensionamento pré-down da imagem se o downscaling estiver envolvido na matriz de transformação. Em seguida, usa o modo de interpolação cúbica para a saída final.

Observação

Se você não selecionar um modo, o efeito será D2D1_DPICOMPENSTION_INTERPOLATION_MODE_LINEAR.

Modos de borda

Nome Descrição
D2D1_BORDER_MODE_SOFT Pixels fora dos limites de entrada são gerados pelo efeito de borda espelho.
D2D1_BORDER_MODE_HARD Os pixels fora dos limites de entrada são pretos transparentes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect