Método ID2D1DeviceContext::CreateGradientStopCollection (d2d1_1.h)
Cria uma coleção de stop de gradiente, permitindo que o gradiente contenha canais de cores com valores fora de [0,1] e também habilitando a renderização para um destino de renderização de alta cor com interpolação no espaço sRGB.
Sintaxe
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*
Uma matriz de valores de cor e deslocamentos.
straightAlphaGradientStopsCount
Tipo: UINT
O número de elementos na matriz gradientStops .
preInterpolationSpace
Tipo: D2D1_COLOR_SPACE
Especifica o espaço de cor de entrada e o espaço no qual a interpolação de cor ocorre.
postInterpolationSpace
Tipo: D2D1_COLOR_SPACE
O espaço de cor em que as cores serão convertidas após a interpolação ocorrer.
bufferPrecision
Tipo: D2D1_BUFFER_PRECISION
A precisão da textura usada para conter valores interpolados.
extendMode
Tipo: D2D1_EXTEND_MODE
Define como as cores fora do intervalo definido pela coleção stop são determinadas.
colorInterpolationMode
Tipo: D2D1_COLOR_INTERPOLATION_MODE
Define como as cores são interpoladas. D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED é o padrão, consulte Comentários para obter mais informações.
[out] gradientStopCollection1
Tipo: ID2D1GradientStopCollection1**
A nova coleção de stop de gradiente.
Retornar valor
Tipo: HRESULT
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
HRESULT | Descrição |
---|---|
S_OK | Não ocorreu nenhum erro. |
E_OUTOFMEMORY | Direct2D não foi possível alocar memória suficiente para concluir a chamada. |
E_INVALIDARG | Um valor inválido foi passado para o método . |
Comentários
Esse método interpola linearmente entre as paradas de cor. Uma conversão de espaço de cor opcional é aplicada após a interpolação. Se e como essa conversão gama é aplicada é determinada pela interpolação pré e pós-interpolação. Esse método falhará se o contexto do dispositivo não der suporte à precisão de buffer solicitada.
Para obter o resultado desejado, você precisa garantir que as entradas sejam especificadas no espaço de cores correto.
Você sempre deve especificar cores em alfa reto, independentemente do modo de interpolação ser pré-multiplicado ou reto. O modo de interpolação afeta apenas os valores interpolados. Da mesma forma, as paradas retornadas por ID2D1GradientStopCollection::GetGradientStops sempre terão alfa reto.
Se você especificar D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED, todas as paradas serão pré-multiplicadas antes da interpolação e, em seguida, não pré-multiplicadas antes da conversão de cor.
Começando com Windows 8, o comportamento de interpolação desse método foi alterado.
A tabela aqui mostra o comportamento no Windows 7 e anteriores.
Gama | Antes do comportamento de interpolação | Após o comportamento de interpolação | GetColorInteroplationGamma (espaço de cor de saída) |
---|---|---|---|
1.0 | Fixa as entradas e converte de sRGB para scRGB. | Converte de scRGB em pós-interpolação sRGB. | 1.0 |
2,2 | Fixa as entradas. | Nenhuma operação | 2.2 |
A tabela aqui mostra o comportamento em Windows 8 e posteriores.
Gama | Antes do comportamento de interpolação | Após o comportamento de interpolação | GetColorInteroplationGamma (espaço de cor de saída) |
---|---|---|---|
sRGB para scRGB | Nenhuma operação | Fixa as saídas e converte de sRGB para scRGB. | 1.0 |
scRGB para sRGB | Nenhuma operação | Fixa as saídas e converte de sRGB para scRGB. | 2.2 |
sRGB para sRGB | Nenhuma operação | Nenhuma operação | 2.2 |
scRGB para scRGB | Nenhuma operação | Nenhuma operação | 1.0 |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | d2d1_1.h |
DLL | D2d1.dll |