METODE ID2D1DeviceContext::CreateGradientStopCollection (d2d1_1.h)
Membuat koleksi berhenti gradien, memungkinkan gradien berisi saluran warna dengan nilai di luar [0,1] dan juga memungkinkan penyajian ke target render warna tinggi dengan interpolasi di ruang sRGB.
Sintaks
HRESULT CreateGradientStopCollection(
const D2D1_GRADIENT_STOP *straightAlphaGradientStops,
UINT32 straightAlphaGradientStopsCount,
D2D1_COLOR_SPACE preInterpolationSpace,
D2D1_COLOR_SPACE postInterpolationSpace,
D2D1_BUFFER_PRECISION bufferPrecision,
D2D1_EXTEND_MODE extendMode,
D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,
[out] ID2D1GradientStopCollection1 **gradientStopCollection1
);
Parameter
straightAlphaGradientStops
Jenis: const D2D1_GRADIENT_STOP*
Array nilai warna dan offset.
straightAlphaGradientStopsCount
Jenis: UINT
Jumlah elemen dalam array gradientStops .
preInterpolationSpace
Jenis: D2D1_COLOR_SPACE
Menentukan ruang warna input dan ruang tempat interpolasi warna terjadi.
postInterpolationSpace
Jenis: D2D1_COLOR_SPACE
Ruang warna yang akan dikonversi warna setelah interpolasi terjadi.
bufferPrecision
Jenis: D2D1_BUFFER_PRECISION
Presisi tekstur yang digunakan untuk menyimpan nilai terinterpolasi.
extendMode
Jenis: D2D1_EXTEND_MODE
Menentukan bagaimana warna di luar rentang yang ditentukan oleh koleksi berhenti ditentukan.
colorInterpolationMode
Jenis: D2D1_COLOR_INTERPOLATION_MODE
Menentukan bagaimana warna diinterpolasi. D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED adalah default, lihat Keterangan untuk informasi selengkapnya.
[out] gradientStopCollection1
Jenis: ID2D1GradientStopCollection1**
Koleksi stop gradien baru.
Nilai kembali
Jenis: HRESULT
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.
HRESULT | Deskripsi |
---|---|
S_OK | Tidak terjadi kesalahan. |
E_OUTOFMEMORY | Direct2D tidak dapat mengalokasikan memori yang cukup untuk menyelesaikan panggilan. |
E_INVALIDARG | Nilai yang tidak valid diteruskan ke metode . |
Keterangan
Metode ini secara linier menginterpolasi antara warna berhenti. Konversi ruang warna opsional diterapkan pasca-interpolasi. Apakah dan bagaimana konversi gamma ini diterapkan ditentukan oleh pra-dan pasca-interpolasi. Metode ini akan gagal jika konteks perangkat tidak mendukung presisi buffer yang diminta.
Untuk mendapatkan hasil yang diinginkan, Anda perlu memastikan bahwa input ditentukan dalam ruang warna yang benar.
Anda harus selalu menentukan warna dalam alfa lurus, terlepas dari mode interpolasi yang diisi sebelumnya atau lurus. Mode interpolasi hanya memengaruhi nilai terinterpolasi. Demikian juga, perhentian yang dikembalikan oleh ID2D1GradientStopCollection::GetGradientStops akan selalu memiliki alfa lurus.
Jika Anda menentukan D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED, maka semua pemberhentian telah disiapkan sebelumnya sebelum interpolasi, lalu tidak di-premultip sebelum konversi warna.
Dimulai dengan Windows 8, perilaku interpolasi metode ini telah berubah.
Tabel di sini menunjukkan perilaku di Windows 7 dan yang lebih lama.
Gama | Sebelum Perilaku Interpolasi | Setelah Perilaku Interpolasi | GetColorInteroplationGamma (ruang warna output) |
---|---|---|---|
1,0 | Menjepit input dan kemudian mengonversi dari sRGB ke scRGB. | Mengonversi dari scRGB ke sRGB pasca-interpolasi. | 1,0 |
2.2 | Menjepit input. | Tidak Ada Operasi | 2.2 |
Tabel di sini memperlihatkan perilaku dalam Windows 8 dan yang lebih baru.
Gama | Sebelum Perilaku Interpolasi | Setelah Perilaku Interpolasi | GetColorInteroplationGamma (ruang warna output) |
---|---|---|---|
sRGB ke scRGB | Tidak Ada Operasi | Menjepit output dan kemudian mengonversi dari sRGB ke scRGB. | 1,0 |
scRGB ke sRGB | Tidak Ada Operasi | Menjepit output dan kemudian mengonversi dari sRGB ke scRGB. | 2.2 |
sRGB ke sRGB | Tidak Ada Operasi | Tidak Ada Operasi | 2.2 |
scRGB ke scRGB | Tidak Ada Operasi | Tidak Ada Operasi | 1,0 |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | d2d1_1.h |
DLL | D2d1.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk