Enumeração WICHeifHdrProperties (wincodec.h)
Especifica as propriedades HDR de uma imagem HEIF (Formato de Imagem de Alta Eficiência).
Syntax
typedef enum WICHeifHdrProperties {
WICHeifHdrMaximumLuminanceLevel = 0x1,
WICHeifHdrMaximumFrameAverageLuminanceLevel = 0x2,
WICHeifHdrMinimumMasteringDisplayLuminanceLevel = 0x3,
WICHeifHdrMaximumMasteringDisplayLuminanceLevel = 0x4,
WICHeifHdrCustomVideoPrimaries = 0x5,
WICHeifHdrProperties_FORCE_DWORD = 0x7fffffff
} ;
Constantes
WICHeifHdrMaximumLuminanceLevel Valor: 0x1 [VT_UI2] Especifica o nível máximo de luminância do conteúdo em Nits. |
WICHeifHdrMaximumFrameAverageLuminanceLevel Valor: 0x2 [VT_UI2] Especifica o nível máximo de luminância média por quadro do conteúdo em Nits. |
WICHeifHdrMinimumMasteringDisplayLuminanceLevel Valor: 0x3 [VT_UI2] Especifica a luminância máxima da exibição na qual o conteúdo foi criado, em Nits. |
WICHeifHdrMaximumMasteringDisplayLuminanceLevel Valor: 0x4 [VT_UI2] Especifica a luminância máxima da exibição na qual o conteúdo foi criado, em Nits. |
WICHeifHdrCustomVideoPrimaries Valor: 0x5 [VT_BLOB] Especifica as primárias de cores personalizadas para um tipo de mídia de vídeo. O valor dessa propriedade é uma estrutura MT_CUSTOM_VIDEO_PRIMARIES, retornada como uma matriz de bytes (VT_BLOB). |
WICHeifHdrProperties_FORCE_DWORD Valor: 0x7fffffff |
Comentários
Use IWicMetadataReader::GetValue para recuperar o valor das propriedades especificadas com essa enumeração. Instancie a instância IWicMetadataReader usando o guid CLSID_WICMetadataReader. Chame IWicMetadataReader::GetMetadataFormat e confirme se o valor é GUID_MetadataFormatHeifHDR para verificar se o formato de metadados são metadados HEIF HDR.
Nem todas as imagens HDR HEIF terão todas essas propriedades presentes no arquivo, portanto, somente as propriedades disponíveis serão expostas pelo leitor de metadados.
using namespace winrt;
std::optional<uint32_t> GetMaximumLuminanceLevelFromMetadataReader(_In_ IWICMetadataReader* metadataReader)
{
std::optional<uint32_t> result;
GUID metadataFormat;
// Retrieve the format of the metadata used by this IWICMetadataReader
check_hresult(metadataReader->GetMetadataFormat(&metadataFormat));
// This function only handles HEIF HDR metadata
if (metadataFormat != GUID_MetadataFormatHeifHDR)
{
throw_hresult(E_INVALIDARG);
}
PROPVARIANT variantId = {};
PROPVARIANT variantValue = {};
variantId.vt = VT_UI4;
variantId.uiVal = WICHeifHdrMaximumLuminanceLevel;
if (SUCCEEDED(metadataReader->GetValue(nullptr, &variantId, &variantValue)))
{
if (variantValue.vt == VT_UI4)
{
result = variantValue.uiVal;
}
PropVariantClear(&variantValue);
}
return result;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1903 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server, versão 1903 [somente aplicativos da área de trabalho] |
Cabeçalho | wincodec.h |