Compartir a través de


Interfaz IXpsOMGradientStop (xpsobjectmodel.h)

Representa un único color y una ubicación dentro de un degradado.

Herencia

La interfaz IXpsOMGradientStop hereda de la interfaz IUnknown . IXpsOMGradientStop también tiene estos tipos de miembros:

Métodos

La interfaz IXpsOMGradientStop tiene estos métodos.

 
IXpsOMGradientStop::Clone

Realiza una copia profunda de la interfaz IXpsOMGradientStop.
IXpsOMGradientStop::GetColor

Obtiene el valor de color y el perfil de color de la parada de degradado.
IXpsOMGradientStop::GetOffset

Obtiene el valor de desplazamiento de la parada de degradado.
IXpsOMGradientStop::GetOwner

Obtiene un puntero a la interfaz IXpsOMGradientBrush que contiene la parada de degradado.
IXpsOMGradientStop::SetColor

Establece el valor de color y el perfil de color de la parada de degradado.
IXpsOMGradientStop::SetOffset

Establece la ubicación de desplazamiento de la parada de degradado.

Comentarios

Una parada de degradado es un color específico que se define para una ubicación dentro de la región degradada. El color del degradado cambia entre las paradas de degradado del degradado. La interfaz de degradado define el área y la ubicación absoluta del degradado. El desplazamiento es una ubicación relativa dentro de la región degradada y se mide entre 0,0 y 1,0. Un desplazamiento de 0,0 es el principio del degradado y 1,0 es el final. Los delimitadores de degradado se pueden definir para cualquier desplazamiento dentro del intervalo, incluidos los puntos finales. Esta interfaz describe una y solo una parada en un degradado.

El trazado de degradado es la línea recta que conecta el punto inicial y el punto final de un degradado lineal. La región de degradado de un degradado lineal consta del área entre el punto inicial y el punto final, incluidos esos puntos, y se extiende en ambas direcciones en un ángulo derecho al trazado de degradado. El área de propagación es el área fuera de la región degradada.

Los delimitadores de degradado definen el color en una ubicación específica a lo largo del trazado de degradado; el color se interpola a lo largo del trazado de degradado entre los delimitadores de degradado. En el ejemplo siguiente, la región degradada rellena la imagen, por lo que no hay ningún área de propagación.

Para los delimitadores de degradado usados en pinceles de degradado lineal, el valor de desplazamiento de 0,0 corresponde al punto inicial de la ruta de degradado y el valor de desplazamiento de 1,0 corresponde al punto final. Para determinar la ubicación de una parada de degradado entre estos dos puntos, los valores de desplazamiento intermedios se interpolan entre ellos. En la ilustración siguiente se muestran dos paradas de degradado intermedias, una en un desplazamiento de 0,25 y otra en 0,75.

Ilustración que muestra los términos usados en un degradado lineal

Para los delimitadores de degradado usados en pinceles de degradado radial, el valor de desplazamiento de 0,0 corresponde a la ubicación de origen del degradado y el valor de desplazamiento de 1,0 corresponde a la circunferencia de la elipse que enlaza el degradado. Los desplazamientos entre 0,0 y 1,0 definen una elipse interpolada entre el origen del degradado y la elipse delimitador. La ilustración siguiente tiene un delimitador de degradado intermedio en un desplazamiento de 0,50 (degradado 1). El degradado usa el método de propagación XPS_SPREAD_METHOD_REFLECT para rellenar el espacio fuera de la región degradada.

Ilustración que muestra los términos usados en un degradado radial Los cálculos que se usan para representar un degradado se describen en la Especificación de papel XML.

En el ejemplo de código siguiente se muestra cómo crear una instancia de esta 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

IXpsOMGradientBrush

IXpsOMObjectFactory::CreateGradientStop

Interfaces

XML Paper Specification