Partilhar via


Efeito de mapa de tom HDR

Este efeito ajusta o alcance dinâmico de uma imagem para melhor adequar o seu conteúdo à capacidade do ecrã de saída.

As propriedades para esse efeito são identificadas pelo D2D1_HDRTONEMAP_PROP enumeração, e o CLSID é CLSID_D2D1HdrToneMap.

Propriedades do efeito

Nome para exibição e enumeração de índice Tipo e valor padrão Descrição
InputMaxLuminance, D2D1_HDRTONEMAP_PROP_INPUT_MAX_LUMINANCE FLUTUAR O nível máximo de luz (ou MaxCLL) da imagem, em lêndeas.
OutputMaxLuminance, D2D1_HDRTONEMAP_PROP_OUTPUT_MAX_LUMINANCE FLUTUAR O MaxCLL suportado pelo destino de saída, em nits—normalmente definido para o MaxCLL do monitor.
DisplayMode, D2D1_HDRTONEMAP_PROP_DISPLAY_MODE D2D1_HDRTONEMAP_DISPLAY_MODE Quando definido como _HDR, a curva de mapeamento de tons é ajustada para melhor se ajustar ao comportamento de monitores HDR comuns.

Comentários

O valor para InputMaxLuminance é normalmente derivado dos metadados da imagem. Para casos em que os metadados não estão presentes, você pode usar a função D2DAdvancedColorImagesRenderer::ComputeHdrMetadata (no de exemplo de renderização de imagem colorida avançada doDirect2D) para calcular o nível máximo de luz (MaxCLL) de uma imagem, em nits.

O valor para OutputMaxLuminance foi projetado para ser derivado do display, usando DXGI_OUTPUT_DESC1::MaxLuminance.

O efeito de mapa de tons HDR tem curvas de mapa de tons diferentes, dependendo se a tela é uma tela HDR ou uma tela SDR/WCG.

Este efeito destina-se a ser combinado com o efeito de ajuste de nível de branco para permitir que você renderize imagens HDR em Direct2D com gerenciamento de cores e mapeamento de tons adequados. Destina-se a qualquer estrutura que pretenda fornecer a melhor experiência de visualização de imagens HDR da sua classe, que lida com todos os formatos de imagem HDR do Windows e se adapte às capacidades do ecrã (quer seja HDR ou WCG/SDR). Pretende-se que os efeitos sejam encadeados em sequência, como a seguir se descreve.

  • Pegue a imagem de entrada, cujo espaço de cor definido por seu codec. Os metadados podem especificar whitePoint. Os metadados podem especificar o nível de luminância de entrada.
  • Aplique o efeito de gerenciamento de cores. Converter em espaço scRGB (CCCS).
  • Aplique o efeito de mapa de tons HDR. Diminua o nível de luz da imagem para o nível desejado.
  • Aplique o efeito de ajuste do nível de branco. Dimensione o nível de branco da imagem para o nível de branco exigido pela cadeia de permuta.
  • Aplique o efeito de gerenciamento de cores novamente. Se renderizar para 8bpc, então converta para sRGB.

Requerimentos

Exigência Valor
Cliente mínimo suportado Windows 10, versão 1809 (10.0; Build 17763) [aplicativos de desktop | Aplicativos UWP]
Cabeçalho d2d1effects_2.h
Biblioteca d2d1.lib, dxguid.lib