WICHeifHdrProperties-Enumeration (wincodec.h)

Gibt die HDR-Eigenschaften eines HEIF-Bilds (High Efficiency Image Format) an.

Syntax

typedef enum WICHeifHdrProperties {
  WICHeifHdrMaximumLuminanceLevel = 0x1,
  WICHeifHdrMaximumFrameAverageLuminanceLevel = 0x2,
  WICHeifHdrMinimumMasteringDisplayLuminanceLevel = 0x3,
  WICHeifHdrMaximumMasteringDisplayLuminanceLevel = 0x4,
  WICHeifHdrCustomVideoPrimaries = 0x5,
  WICHeifHdrProperties_FORCE_DWORD = 0x7fffffff
} ;

Konstanten

 
WICHeifHdrMaximumLuminanceLevel
Wert: 0x1
[VT_UI2] Gibt den maximalen Leuchtdichtegrad des Inhalts in Nits an.
WICHeifHdrMaximumFrameAverageLuminanceLevel
Wert: 0x2
[VT_UI2] Gibt die maximale durchschnittliche Leuchtdichte pro Frame des Inhalts in Nits an.
WICHeifHdrMinimumMasteringDisplayLuminanceLevel
Wert: 0x3
[VT_UI2] Gibt die maximale Helligkeit der Anzeige an, auf der der Inhalt erstellt wurde, in Nits.
WICHeifHdrMaximumMasteringDisplayLuminanceLevel
Wert: 0x4
[VT_UI2] Gibt die maximale Helligkeit der Anzeige an, auf der der Inhalt erstellt wurde, in Nits.
WICHeifHdrCustomVideoPrimaries
Wert: 0x5
[VT_BLOB] Gibt benutzerdefinierte Farbvorwahlen für einen Videomedientyp an. Der Wert dieser Eigenschaft ist eine MT_CUSTOM_VIDEO_PRIMARIES-Struktur, die als Array von Bytes (VT_BLOB) zurückgegeben wird.
WICHeifHdrProperties_FORCE_DWORD
Wert: 0x7fffffff

Hinweise

Verwenden Sie IWicMetadataReader::GetValue , um den Wert der mit dieser Enumeration angegebenen Eigenschaften abzurufen. Instanziieren Sie den IWicMetadataReader-instance mithilfe des GUID-CLSID_WICMetadataReader. Rufen Sie IWicMetadataReader::GetMetadataFormat auf, und vergewissern Sie sich, dass der Wert GUID_MetadataFormatHeifHDR ist, um zu überprüfen, ob das Metadatenformat HEIF HDR-Metadaten ist.

Nicht für alle HEIF HDR-Bilder sind alle diese Eigenschaften in der Datei vorhanden. Daher werden nur die verfügbaren Eigenschaften vom Metadatenleser verfügbar gemacht.

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1903 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server, Version 1903 [nur Desktop-Apps]
Kopfzeile wincodec.h