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 |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
El valor de offset no es válido. |
|
color o gradientStop es NULL. |
|
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. |
|
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. |
|
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.
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. 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 |