Compartir a través de


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

Crea una interfaz IXpsOMGradientStop para representar una única definición de color y ubicación dentro de un degradado.

Sintaxis

HRESULT CreateGradientStop(
  [in]          const XPS_COLOR            *color,
  [in]          IXpsOMColorProfileResource *colorProfile,
  [in]          FLOAT                      offset,
  [out, retval] IXpsOMGradientStop         **gradientStop
);

Parámetros

[in] color

Valor del color.

[in] colorProfile

Puntero a la interfaz IXpsOMColorProfileResource que contiene el perfil de color que se va a usar. Si el tipo de color no es XPS_COLOR_TYPE_CONTEXT, este parámetro debe ser NULL.

[in] offset

Valor de desplazamiento.

Intervalo válido: 0,0–1,0

[out, retval] gradientStop

Puntero a la nueva interfaz IXpsOMGradientStop .

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 valor de offset no es válido.
E_POINTER
color o gradientStop es NULL.
XPS_E_MISSING_COLORPROFILE
colorProfile es NULL , pero se espera un perfil de color. Se requiere un perfil de color cuando se XPS_COLOR_TYPE_CONTEXT el tipo de color.
XPS_E_NO_CUSTOM_OBJECTS
colorProfile no apunta a una implementación de interfaz reconocida. No se admite la implementación personalizada de interfaces de LA API de documentos XPS.
XPS_E_UNEXPECTED_COLORPROFILE
colorProfile contiene un perfil de color, pero no se espera uno. Solo se permite un perfil de color cuando el tipo de color es XPS_COLOR_TYPE_CONTEXT.

Comentarios

Los delimitadores de degradado se utilizan para definir el color en una ubicación específica; el color se interpola entre los delimitadores de degradado. El desplazamiento, especificado por offset, es una posición relativa entre los puntos inicial y final del degradado. El desplazamiento en el punto inicial de un degradado lineal o el origen de un degradado radial es 0,0. El desplazamiento del punto final de un degradado lineal o la elipse delimitador de un degradado radial es 1,0. Los delimitadores de degradado se pueden especificar para cualquier desplazamiento entre esos puntos, incluidos los puntos inicial y final. En la ilustración siguiente se muestra el trazado de degradado y las paradas de degradado de un degradado lineal.

Ilustración que muestra los términos usados en un degradado lineal En la ilustración siguiente se muestran los delimitadores de degradado de un degradado radial. En este ejemplo, la región de degradado radial es el área entre la elipse externa y el método de propagación XPS_SPREAD_METHOD_REFLECT se usa para rellenar el espacio fuera de la región degradada. Ilustración que muestra los términos usados en un degradado radial La interfaz IXpsOMGradientStop especifica una y una sola parada en un degradado.

Los cálculos usados para representar un degradado se describen en la Especificación de papel XML.

En el ejemplo de código siguiente se muestra cómo se usa este método para crear una nueva interfaz.


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 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

IXpsOMColorProfileResource

IXpsOMGradientStop

IXpsOMObjectFactory

XML Paper Specification

Errores del documento XPS

XPS_COLOR