Método IXpsOMObjectFactory::CreateLinearGradientBrush (xpsobjectmodel.h)
Cria uma interface IXpsOMLinearGradientBrush .
Sintaxe
HRESULT CreateLinearGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *startPoint,
[in] const XPS_POINT *endPoint,
[out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);
Parâmetros
[in] gradStop1
A interface IXpsOMGradientStop que especifica as propriedades de gradiente no início do vetor do gradiente. Esse parâmetro não deve ser NULL.
[in] gradStop2
A interface IXpsOMGradientStop que especifica as propriedades de gradiente no final do vetor do gradiente. Esse parâmetro não deve ser NULL.
[in] startPoint
A estrutura XPS_POINT que contém as coordenadas do ponto inicial no espaço bidimensional.
[in] endPoint
A estrutura XPS_POINT que contém as coordenadas do ponto de extremidade no espaço bidimensional.
[out, retval] linearGradientBrush
Um ponteiro para a nova interface IXpsOMLinearGradientBrush .
Retornar valor
O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam, aqueles na tabela a seguir. Para obter informações sobre valores retornados da API de documento XPS que não estão listados nesta tabela, consulte Erros de documento XPS.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
O ponto especificado por startPoint ou endPoint não era válido. Os membros da estrutura XPS_POINT devem conter valores de ponto flutuante válidos e finitos. |
|
gradStop1, gradStop2, startPoint, figure ou linearGradientBrush é NULL. |
|
gradStop1 ou gradStop1 não aponta para uma implementação de interface reconhecida. Não há suporte para a implementação personalizada de interfaces da API de Documento XPS. |
Comentários
A região de gradiente de um gradiente linear é a área entre e incluindo os pontos inicial e final e estendendo-se em ambas as direções em um ângulo reto para o caminho do gradiente. A área de propagação é a área da geometria que fica fora da região do gradiente.
As paradas de gradiente definem a cor em locais específicos ao longo do caminho do gradiente. Na ilustração, a parada de gradiente 0, especificada pelo parâmetro gradStop1 , está localizada no ponto inicial do caminho do gradiente e a parada de gradiente 1, especificada pelo parâmetro gradStop2 , está no ponto final.
Conforme mostrado na ilustração a seguir, os pontos inicial e final de um gradiente linear também são os pontos inicial e final do caminho de gradiente, que é a linha reta que conecta esses pontos.
O exemplo de código a seguir ilustra como esse método é usado para criar uma nova interface.
IXpsOMLinearGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT startPoint, endPoint;
// 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->CreateLinearGradientBrush (
gradStop1,
gradStop2,
&startPoint,
&endPoint,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
Requisitos
Requisito | Valor |
---|---|
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 Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | xpsobjectmodel.h |