Bagikan melalui


Enumerasi WICHeifHdrProperties (wincodec.h)

Menentukan properti HDR dari gambar Format Gambar Efisiensi Tinggi (HEIF).

Sintaks

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

Konstanta

 
WICHeifHdrMaximumLuminanceLevel
Nilai: 0x1
[VT_UI2] Menentukan tingkat luminance maksimum konten dalam Nits.
WICHeifHdrMaximumFrameAverageLuminanceLevel
Nilai: 0x2
[VT_UI2] Menentukan tingkat luminasi rata-rata maksimum per bingkai konten dalam Nits.
WICHeifHdrMinimumMasteringDisplayLuminanceLevel
Nilai: 0x3
[VT_UI2] Menentukan luminasi maksimum tampilan tempat konten ditulis, dalam Nits.
WICHeifHdrMaximumMasteringDisplayLuminanceLevel
Nilai: 0x4
[VT_UI2] Menentukan luminasi maksimum tampilan tempat konten ditulis, dalam Nits.
WICHeifHdrCustomVideoPrimaries
Nilai: 0x5
[VT_BLOB] Menentukan warna kustom utama untuk tipe media video. Nilai properti ini adalah struktur MT_CUSTOM_VIDEO_PRIMARIES, dikembalikan sebagai array byte (VT_BLOB).
WICHeifHdrProperties_FORCE_DWORD
Nilai: 0x7fffffff

Keterangan

Gunakan IWicMetadataReader::GetValue untuk mengambil nilai properti yang ditentukan dengan enumerasi ini. Buat instans IWicMetadataReader menggunakan CLSID_WICMetadataReader GUID. Panggil IWicMetadataReader::GetMetadataFormat dan konfirmasikan bahwa nilainya GUID_MetadataFormatHeifHDR untuk memverifikasi bahwa format metadata adalah metadata HEIF HDR.

Tidak semua gambar HDR HEIF akan memiliki semua properti ini yang ada dalam file, jadi hanya properti yang tersedia yang akan diekspos oleh pembaca metadata.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1903 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server, versi 1903 [hanya aplikasi desktop]
Header wincodec.h