Metodo ID2D1DeviceContext::CreateGradientStopCollection (d2d1_1.h)
Crea una raccolta di stop sfumatura, consentendo al gradiente di contenere i canali di colore con valori esterni a [0,1] e abilitando anche il rendering in una destinazione di rendering ad alto colore con interpolazione nello spazio sRGB.
Sintassi
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
);
Parametri
straightAlphaGradientStops
Tipo: const D2D1_GRADIENT_STOP*
Matrice di valori di colore e offset.
straightAlphaGradientStopsCount
Tipo: UINT
Numero di elementi nella matrice gradientStops .
preInterpolationSpace
Tipo: D2D1_COLOR_SPACE
Specifica sia lo spazio dei colori di input che lo spazio in cui si verifica l'interpolazione dei colori.
postInterpolationSpace
Tipo: D2D1_COLOR_SPACE
Lo spazio dei colori che i colori verranno convertiti in dopo che si verifica l'interpolazione.
bufferPrecision
Tipo: D2D1_BUFFER_PRECISION
Precisione della trama usata per contenere valori interpolati.
extendMode
Tipo: D2D1_EXTEND_MODE
Definisce il modo in cui vengono determinati i colori all'esterno dell'intervallo definito dall'insieme stop.
colorInterpolationMode
Tipo: D2D1_COLOR_INTERPOLATION_MODE
Definisce la modalità di interpolazione dei colori. D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED è l'impostazione predefinita, vedere Osservazioni per altre informazioni.
[out] gradientStopCollection1
Tipo: ID2D1GradientStopCollection1**
Nuova raccolta di interruzioni sfumature.
Valore restituito
Tipo: HRESULT
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
HRESULT | Descrizione |
---|---|
S_OK | Non si sono verificati errori. |
E_OUTOFMEMORY | Direct2D non è riuscito a allocare memoria sufficiente per completare la chiamata. |
E_INVALIDARG | Un valore non valido è stato passato al metodo. |
Commenti
Questo metodo interpola in modo lineare tra le interruzioni del colore. Viene applicata una conversione facoltativa dello spazio dei colori dopo l'interpolazione. Se e come viene applicata questa conversione gamma viene determinata dalla pre-interpolazione e post-interpolazione. Questo metodo avrà esito negativo se il contesto del dispositivo non supporta la precisione del buffer richiesta.
Per ottenere il risultato desiderato, è necessario assicurarsi che gli input siano specificati nello spazio dei colori corretto.
È sempre necessario specificare i colori in alfa dritto, indipendentemente dalla modalità interpolazione premultiplied o dritta. La modalità di interpolazione influisce solo sui valori interpolati. Analogamente, le interruzioni restituite da ID2D1GradientStopCollection::GetGradientStops avranno sempre alfa dritto.
Se si specifica D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED, tutti gli arresti vengono premultiplied prima dell'interpolazione e quindi non premultiplied prima della conversione del colore.
A partire da Windows 8, il comportamento di interpolazione di questo metodo è cambiato.
La tabella seguente mostra il comportamento in Windows 7 e versioni precedenti.
Gamma | Prima del comportamento dell'interpolazione | Dopo il comportamento dell'interpolazione | GetColorInteroplationGamma (spazio colore di output) |
---|---|---|---|
1.0 | Blocca gli input e quindi converte da sRGB a scRGB. | Converte da scRGB a post-interpolazione sRGB. | 1.0 |
2.2 | Blocca gli input. | Nessuna operazione | 2.2 |
La tabella seguente mostra il comportamento in Windows 8 e versioni successive.
Gamma | Prima del comportamento dell'interpolazione | Dopo il comportamento dell'interpolazione | GetColorInteroplationGamma (spazio colore di output) |
---|---|---|---|
sRGB to scRGB | Nessuna operazione | Blocca gli output e quindi converte da sRGB a scRGB. | 1,0 |
scRGB to sRGB | Nessuna operazione | Blocca gli output e quindi converte da sRGB a scRGB. | 2.2 |
sRGB per sRGB | Nessuna operazione | Nessuna operazione | 2.2 |
scRGB to scRGB | Nessuna operazione | Nessuna operazione | 1,0 |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d2d1_1.h |
DLL | D2d1.dll |