Partilhar via


Efeito de compensação de DPI

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

O CLSID para este efeito é CLSID_D2D1DpiCompensation.

Propriedades do efeito

Nome para exibição e enumeração de índice Descrição
InterpolaçãoModo de Interpolação
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 hard. 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
O 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 Recolhe amostras do ponto único mais próximo e utiliza-o. Este modo usa menos tempo de processamento, mas produz a imagem de menor qualidade.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR Utiliza uma amostra de quatro pontos e interpolação linear. Este modo utiliza mais tempo de processamento do que o modo vizinho mais próximo, mas produz uma imagem de qualidade superior.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC Usa um núcleo cúbico de 16 amostras para interpolação. Este modo utiliza a maior parte do tempo de processamento, mas produz uma imagem de qualidade superior.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR Usa 4 amostras lineares dentro de um único pixel para uma boa suavização de borda. Este modo é bom para reduzir em pequenas quantidades em imagens com poucos pixels.
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC Usa filtragem anisotrópica para obter amostras de 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 pré-downscale 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 como padrão.

Modos de borda

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

Requerimentos

Exigência Valor
Cliente mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Servidor mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect