Interface IXpsOMGradientStop (xpsobjectmodel.h)
Representa uma única cor e local dentro de um gradiente.
Herança
A interface IXpsOMGradientStop herda da interface IUnknown . IXpsOMGradientStop também tem estes tipos de membros:
Métodos
A interface IXpsOMGradientStop tem esses métodos.
IXpsOMGradientStop::Clone Faz uma cópia profunda da interface IXpsOMGradientStop. |
IXpsOMGradientStop::GetColor Obtém o valor de cor e o perfil de cor da parada de gradiente. |
IXpsOMGradientStop::GetOffset Obtém o valor de deslocamento da parada de gradiente. |
IXpsOMGradientStop::GetOwner Obtém um ponteiro para a interface IXpsOMGradientBrush que contém a parada de gradiente. |
IXpsOMGradientStop::SetColor Define o valor de cor e o perfil de cor da parada de gradiente. |
IXpsOMGradientStop::SetOffset Define o local de deslocamento da parada de gradiente. |
Comentários
Uma parada de gradiente é uma cor específica definida para um local dentro da região do gradiente. A cor do gradiente muda entre as paradas de gradiente do gradiente. A área e o local absoluto do gradiente são definidos pela interface de gradiente. O deslocamento é um local relativo dentro da região do gradiente e é medido entre 0,0 e 1,0. Um deslocamento de 0,0 é o início do gradiente e 1,0 é o final. As paradas de gradiente podem ser definidas para qualquer deslocamento dentro do intervalo, incluindo os pontos finais. Essa interface descreve uma e apenas uma parada em um gradiente.
O caminho do gradiente é a linha reta que conecta o ponto inicial e o ponto final de um gradiente linear. A região de gradiente de um gradiente linear consiste na área entre o ponto inicial e o ponto final, incluindo esses pontos, e se estende em ambas as direções em um ângulo reto até o caminho do gradiente. A área de propagação é a área fora da região do gradiente.
As paradas de gradiente definem a cor em um local específico ao longo do caminho do gradiente; a cor é interpolada ao longo do caminho do gradiente entre as paradas de gradiente. No exemplo a seguir, a região do gradiente preenche a imagem, portanto, não há nenhuma área de propagação.
Para paradas de gradiente usadas em pincéis de gradiente linear, o valor de deslocamento de 0,0 corresponde ao ponto inicial do caminho do gradiente e o valor de deslocamento de 1,0 corresponde ao ponto final. Para determinar o local de uma parada de gradiente entre esses dois pontos, os valores de deslocamento intermediários são interpolados entre eles. A ilustração a seguir mostra duas paradas de gradiente intermediárias, uma em um deslocamento de 0,25 e outra em 0,75.
Para paradas de gradiente usadas em pincéis radiais-gradientes, o valor de deslocamento de 0,0 corresponde ao local de origem do gradiente e o valor de deslocamento de 1,0 corresponde à circunferência da elipse que vincula o gradiente. Deslocamentos entre 0,0 e 1,0 definem uma elipse interpolada entre a origem do gradiente e a elipse delimitadora. A ilustração a seguir tem uma parada de gradiente intermediária em um deslocamento de 0,50 (gradiente parada 1). O gradiente está usando o método XPS_SPREAD_METHOD_REFLECT spread para preencher o espaço fora da região do gradiente.
Os cálculos usados para renderizar um gradiente são descritos na Especificação de Papel XML.O exemplo de código a seguir ilustra como criar uma instância dessa interface.
IXpsOMGradientStop *newInterface;
// The following values are defined outside of
// this example.
// XPS_COLOR color;
// IXpsOMColorProfileResource *colorProfile;
// FLOAT offset;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsOMObjectFactory),
NULL,
CLSCTX_INPROC_SERVER,
_uuidof(IXpsOMObjectFactory),
reinterpret_cast<LPVOID*>(&xpsFactory)
);
if (SUCCEEDED(hr))
{
hr = xpsFactory->CreateGradientStop (
&color,
colorProfile,
offset,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
Requisitos
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | xpsobjectmodel.h |