Share via


Interface IXpsOMGradientStop (xpsobjectmodel.h)

Représente une couleur et un emplacement uniques dans un dégradé.

Héritage

L’interface IXpsOMGradientStop hérite de l’interface IUnknown. IXpsOMGradientStop a également les types de membres suivants :

Méthodes

L’interface IXpsOMGradientStop a ces méthodes.

 
IXpsOMGradientStop ::Clone

Effectue une copie complète de l’interface IXpsOMGradientStop.
IXpsOMGradientStop ::GetColor

Obtient la valeur de couleur et le profil de couleur du point de dégradé.
IXpsOMGradientStop ::GetOffset

Obtient la valeur de décalage du taquet de dégradé.
IXpsOMGradientStop ::GetOwner

Obtient un pointeur vers l’interface IXpsOMGradientBrush qui contient le taquet de dégradé.
IXpsOMGradientStop ::SetColor

Définit la valeur de couleur et le profil de couleur du taquet de dégradé.
IXpsOMGradientStop ::SetOffset

Définit l’emplacement de décalage du taquet de dégradé.

Remarques

Un point de dégradé est une couleur spécifique qui est définie pour un emplacement dans la région de dégradé. La couleur du dégradé change entre les points de dégradé du dégradé. La zone et l’emplacement absolu du dégradé sont définis par l’interface de dégradé. Le décalage est un emplacement relatif dans la région de dégradé et est mesuré entre 0,0 et 1,0. Un décalage de 0,0 est le début du dégradé et 1,0 est la fin. Les points de dégradé peuvent être définis pour n’importe quel décalage dans la plage, y compris les points de terminaison. Cette interface décrit un et un seul arrêt dans un dégradé.

Le chemin de dégradé est la ligne droite qui relie le point de départ et le point de fin d’un dégradé linéaire. La région de dégradé d’un dégradé linéaire se compose de la zone entre le point de départ et le point de terminaison, y compris ces points, et s’étend dans les deux directions à un angle droit jusqu’au chemin de dégradé. La zone de répartition est la zone située en dehors de la région de dégradé.

Les arrêts de dégradé définissent la couleur à un emplacement spécifique le long du chemin de dégradé ; la couleur est interpolée le long du chemin de dégradé entre les points de dégradé. Dans l’exemple qui suit, la région de dégradé remplit l’image, de sorte qu’il n’y a pas de zone de répartition.

Pour les points de dégradé utilisés dans les pinceaux à dégradé linéaire, la valeur de décalage de 0,0 correspond au point de départ du chemin de dégradé, et la valeur de décalage de 1,0 correspond au point de fin. Pour déterminer l’emplacement d’un point de dégradé entre ces deux points, des valeurs de décalage intermédiaires sont interpolées entre ces deux points. L’illustration suivante montre deux points de dégradé intermédiaires, l’un à un décalage de 0,25 et l’autre à 0,75.

Figure montrant les termes utilisés dans un dégradé linéaire

Pour les points de dégradé utilisés dans les pinceaux à dégradé radial, la valeur de décalage de 0,0 correspond à l’emplacement d’origine du dégradé, et la valeur de décalage de 1,0 correspond à la circonférence de l’ellipse qui lie le dégradé. Les décalages entre 0,0 et 1,0 définissent une ellipse interpolée entre l’origine du dégradé et l’ellipse englobante. L’illustration qui suit présente un point de dégradé intermédiaire à un décalage de 0,50 (point de dégradé 1). Le dégradé utilise la méthode XPS_SPREAD_METHOD_REFLECT spread pour remplir l’espace à l’extérieur de la région de dégradé.

Figure montrant les termes utilisés dans un dégradé radial Les calculs utilisés pour afficher un dégradé sont décrits dans la spécification de papier XML.

L’exemple de code qui suit montre comment créer une instance de cette interface.


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
}

Configuration requise

   
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

IXpsOMGradientBrush

IXpsOMObjectFactory ::CreateGradientStop

Interfaces

XML Paper Specification