Método ID2D1DeviceContext::CreateGradientStopCollection (d2d1_1.h)
Crea una colección de detención de degradado, lo que permite que el degradado contenga canales de color con valores fuera de [0,1] y que también permita la representación en un destino de representación de color alto con interpolación en el espacio sRGB.
Sintaxis
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
);
Parámetros
straightAlphaGradientStops
Tipo: const D2D1_GRADIENT_STOP*
Matriz de valores de color y desplazamientos.
straightAlphaGradientStopsCount
Tipo: UINT
Número de elementos de la matriz gradientStops .
preInterpolationSpace
Tipo: D2D1_COLOR_SPACE
Especifica el espacio de color de entrada y el espacio en el que se produce la interpolación de color.
postInterpolationSpace
Tipo: D2D1_COLOR_SPACE
Espacio de color al que se convertirán los colores después de que se produzca la interpolación.
bufferPrecision
Tipo: D2D1_BUFFER_PRECISION
Precisión de la textura utilizada para contener valores interpolados.
extendMode
Tipo: D2D1_EXTEND_MODE
Define cómo se determinan los colores fuera del intervalo definido por la colección stop.
colorInterpolationMode
Tipo: D2D1_COLOR_INTERPOLATION_MODE
Define cómo se interpolan los colores. D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED es el valor predeterminado, consulte Comentarios para obtener más información.
[out] gradientStopCollection1
Tipo: ID2D1GradientStopCollection1**
Nueva colección de detención de degradado.
Valor devuelto
Tipo: HRESULT
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
HRESULT | Descripción |
---|---|
S_OK | No se ha producido ningún error. |
E_OUTOFMEMORY | Direct2D no pudo asignar memoria suficiente para completar la llamada. |
E_INVALIDARG | Se pasó un valor no válido al método . |
Comentarios
Este método interpola linealmente entre las paradas de color. Se aplica una conversión de espacio de color opcional después de la interpolación. Si se aplica y cómo se aplica esta conversión gamma se determina mediante la interpolación previa y posterior. Este método producirá un error si el contexto del dispositivo no admite la precisión del búfer solicitada.
Para obtener el resultado deseado, debe asegurarse de que las entradas se especifican en el espacio de color correcto.
Siempre debe especificar colores en alfa recto, independientemente de que el modo de interpolación esté premultiplicado o recto. El modo de interpolación solo afecta a los valores interpolados. Del mismo modo, las paradas devueltas por ID2D1GradientStopCollection::GetGradientStops siempre tendrán alfa recto.
Si especifica D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED, todas las paradas se premultiplican antes de la interpolación y, a continuación, se anulan previamente antes de la conversión de color.
A partir de Windows 8, el comportamiento de interpolación de este método ha cambiado.
En la tabla siguiente se muestra el comportamiento en Windows 7 y versiones anteriores.
Gamma | Antes del comportamiento de interpolación | Después del comportamiento de interpolación | GetColorInteroplationGamma (espacio de colores de salida) |
---|---|---|---|
1.0 | Sujeta las entradas y, a continuación, convierte de sRGB a scRGB. | Convierte de scRGB a sRGB posterior a la interpolación. | 1.0 |
2.2 | Sujeta las entradas. | Sin operación | 2.2 |
En la tabla siguiente se muestra el comportamiento en Windows 8 y versiones posteriores.
Gamma | Antes del comportamiento de interpolación | Después del comportamiento de interpolación | GetColorInteroplationGamma (espacio de colores de salida) |
---|---|---|---|
sRGB a scRGB | Sin operación | Sujeta las salidas y, a continuación, convierte de sRGB a scRGB. | 1.0 |
scRGB a sRGB | Sin operación | Sujeta las salidas y, a continuación, convierte de sRGB a scRGB. | 2.2 |
sRGB a sRGB | Sin operación | Sin operación | 2.2 |
scRGB a scRGB | Sin operación | Sin operación | 1.0 |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 y Actualización de plataforma para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 y actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | d2d1_1.h |
Archivo DLL | D2d1.dll |