Compartir a través de


Método IXpsOMObjectFactory::CreateLinearGradientBrush (xpsobjectmodel.h)

Crea una interfaz IXpsOMLinearGradientBrush .

Sintaxis

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

La interfaz IXpsOMGradientStop que especifica las propiedades de degradado al principio del vector del degradado. Este parámetro no debe ser NULL.

[in] gradStop2

La interfaz IXpsOMGradientStop que especifica las propiedades de degradado al final del vector del degradado. Este parámetro no debe ser NULL.

[in] startPoint

Estructura XPS_POINT que contiene las coordenadas del punto inicial en el espacio bidimensional.

[in] endPoint

Estructura XPS_POINT que contiene las coordenadas del punto final en un espacio bidimensional.

[out, retval] linearGradientBrush

Puntero a la nueva interfaz IXpsOMLinearGradientBrush .

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen, entre otros, los de la tabla siguiente. Para obtener información sobre los valores devueltos de la API de documentos XPS que no aparecen en esta tabla, vea Errores del documento XPS.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
El punto especificado por startPoint o endPoint no era válido. Los miembros de la estructura de XPS_POINT deben contener valores de punto flotante válidos y finitos.
E_POINTER
gradStop1, gradStop2, startPoint, figure o linearGradientBrush es NULL.
XPS_E_NO_CUSTOM_OBJECTS
gradStop1 o gradStop1 no apunta a una implementación de interfaz reconocida. No se admite la implementación personalizada de interfaces de LA API de documentos XPS.

Comentarios

La región de degradado de un degradado lineal es el área entre los puntos inicial y final, y se extiende en ambas direcciones en un ángulo derecho al trazado de degradado. El área de propagación es el área de la geometría que se encuentra fuera de la región degradada.

Los delimitadores de degradado definen el color en ubicaciones específicas a lo largo del trazado de degradado. En la ilustración, el delimitador de degradado 0, especificado por el parámetro gradStop1 , se encuentra en el punto inicial de la ruta de degradado y el degradado 1, especificado por el parámetro gradStop2 , está en el punto final.

Como se muestra en la ilustración siguiente, los puntos inicial y final de un degradado lineal también son los puntos inicial y final del trazado de degradado, que es la línea recta que conecta esos puntos.

Ilustración que muestra los términos usados en un degradado lineal En el ejemplo de código siguiente se muestra cómo se usa este método para crear una nueva interfaz.

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 Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado xpsobjectmodel.h

Consulte también

IXpsOMGradientStop

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

XML Paper Specification

Errores del documento XPS

XPS_POINT