Bagikan melalui


Efek manajemen warna

Gunakan efek manajemen warna untuk mengubah gambar dari satu profil warna ICC (Konsorsium Warna Internasional) ke profil warna lainnya. Efek mengubah gambar sesuai dengan spesifikasi ICC .

CLSID untuk efek ini CLSID_D2D1ColorManagement.

Properti efek

Nama tampilan dan enumerasi indeks Deskripsi
SourceContext
D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT
Informasi ruang warna sumber. Jenisnya adalah ID2D1ColorContext.
Nilai defaultnya adalah NULL.
SourceIntent
D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT
Niat penyajian ICC mana yang akan digunakan. Jenisnya D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Nilai defaultnya adalah D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
DestinationContext
D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT
Informasi ruang warna tujuan. Jenisnya adalah ID2D1ColorContext.
Nilai defaultnya adalah NULL.
DestinationIntent
D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT
Niat penyajian ICC mana yang akan digunakan. Jenisnya D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Nilai defaultnya adalah D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
AlphaMode
D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE
Cara menginterpretasikan data alfa yang terkandung dalam gambar input. Jenisnya D2D1_COLORMANAGEMENT_ALPHA_MODE.
Nilai defaultnya adalah D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED.
Kualitas
D2D1_COLORMANAGEMENT_PROP_QUALITY
Tingkat kualitas transformasi. Jenisnya D2D1_COLORMANAGEMENT_QUALITY.
Nilai defaultnya adalah D2D1_COLORMANAGEMENT_QUALITY_NORMAL.

Mode niat penyajian

Enumerasi Deskripsi
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL Efek mengompresi atau memperluas gamut warna penuh gambar untuk mengisi gamut warna perangkat, untuk menghasilkan output yang menyenangkan secara persepsi yang mempertahankan detail warna tetapi dapat mengorbankan akurasi colorimetric. Ini berguna untuk reproduksi umum konten kehidupan nyata seperti foto.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC Efeknya menyesuaikan warna apa pun yang berada di luar gamut yang dapat dirender perangkat output ke warna terdekat yang dapat dirender. Ini tidak mempertahankan titik putih.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION Efeknya mempertahankan kejenuhan warna murni dalam gambar dengan kemungkinan pengeluaran rona dan cahaya. Ini berguna untuk grafik seperti bagan dan diagram.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC Efeknya menyesuaikan warna apa pun yang berada di luar gamut yang dapat dirender perangkat output ke warna terdekat yang dapat dirender. Efek tidak mengubah warna dalam gamut dan mempertahankan titik putih.

Mode alfa gambar input

Enumerasi Deskripsi
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED Efek mengasumsikan mode alfa telah diatur sebelumnya.
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT Efek mengasumsikan mode alfa lurus.

perubahan perilaku D2D1_GAMMA1_G2084

Jika aplikasi Anda menggunakan ruang D2D1_GAMMA1_G2084, atau salah satu nilai enumerasi DXGI_COLOR_SPACE_TYPE yang menggunakan ruang warna SMPTE ST.2084 (Perceptual Quantizer), aplikasi akan bekerja dengan data HDR.

ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile dan ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API tidak memperhitungkan hal tersebut; sebaliknya, konten HDR diskalakan agar sesuai dengan rentang 0-1 selama operasi DeGamma G2084.

Dalam praktiknya, konten yang dikodekan dalam ruang gamma ini menggunakan referensi WhiteLevel 10.000 Nits, yang biasanya akan diwakili dalam CCCS sebagai 10.000 / 80 = 125,0. Jadi, untuk memfasilitasi aplikasi Anda dengan lebih baik, paling mudah bagi konversi gamma ini untuk juga menskalakan luminance dengan faktor 125. Pada Windows 10, versi 1809 (10.0; Build 17763), perilaku efek manajemen warna singgah menerapkan penskalaan ini. Itu berarti Bahwa Anda, sebagai pengembang, tidak perlu menerapkan efek penyesuaian tingkat White kedua ke dalam alur.

Kepatuhan terhadap spesifikasi ICC

Efek manajemen warna sesuai dengan spesifikasi ICC v4.3, dengan batasan ini:

  • Efeknya mendukung 1, 3, dan 4 ruang warna saluran.
  • Efek tidak mendukung profil ColorSpace atau Named Color.

Perilaku saluran alfa

Secara umum, efek mengatur alfa ke 1 (buram) jika tidak ada data alfa dalam gambar sumber dan data alfa dibuang jika tidak ada ruang dalam gambar tujuan. Tabel di sini menjelaskan perilaku alfa.

Ruang warna sumber, format piksel Ruang warna tujuan, format piksel Perilaku alfa
1 saluran, format piksel R
1 saluran, format piksel R (Tidak ada data alfa)
1 saluran, format piksel RGBA Data alfa diatur ke 1 (buram)
3 saluran, format piksel RGBA Data alfa diatur ke 1 (buram)
4 saluran, format piksel RGBA (Tidak ada data alfa)
1 saluran, format piksel RGBA
1 saluran, format piksel R Data alfa dibuang
1 saluran, format piksel RGBA Data alfa diteruskan
3 saluran, format piksel RGBA Data alfa diteruskan
4 saluran, format piksel RGBA Data alfa dibuang
3 saluran, format piksel RGBA
1 saluran, format piksel R Data alfa dibuang
1 saluran, format piksel RGBA Data alfa diteruskan
3 saluran, format piksel RGBA Data alfa diteruskan
4 saluran, format piksel RGBA Data alfa dibuang
4 saluran, format piksel RGBA
1 saluran, format piksel R (Tidak ada data alfa)
1 saluran, format piksel RGBA Data alfa diatur ke 1 (buram)
3 saluran, format piksel RGBA Data alfa diatur ke 1 (buram)
4 saluran, format piksel RGBA (Tidak ada data alfa)

Mode kualitas

Modus Deskripsi
D2D1_COLORMANAGEMENT_QUALITY_PROOF Mode kualitas terendah. Mode ini memerlukan tingkat fitur 9_1 atau lebih tinggi.
D2D1_COLORMANAGEMENT_QUALITY_NORMAL Mode kualitas normal. Mode ini memerlukan tingkat fitur 9_1 atau lebih tinggi.
D2D1_COLORMANAGEMENT_QUALITY_BEST Mode kualitas terbaik. Mode ini memerlukan tingkat fitur 10_0 atau lebih tinggi, serta buffer presisi titik mengambang. Mode ini mendukung presisi titik mengambang serta rentang yang diperluas seperti yang didefinisikan dalam spesifikasi ICC v4.3.

Efek manajemen warna gagal saat menggambar jika aplikasi meminta mode kualitas yang tidak didukung oleh perangkat keras. Anda dapat menentukan tingkat fitur saat memanggil D3D11CreateDevice. Anda dapat memeriksa dukungan buffer titik mengambang dengan memanggil ID2D1EffectContext::IsBufferPrecisionSupported dengan nilai D2D1_BUFFER_PRECISION_32BPC_FLOAT.

Kode sampel

Untuk contoh efek ini, unduh sampel penyesuaian foto efek Direct2D, dan lihat Pelajaran 4 sampel.

Persyaratan

Syarat Nilai
Klien minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Server minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Header d2d1effects.h
Perpustakaan d2d1.lib, dxguid.lib