Partager via


IXpsOMObjectFactory ::CreateLinearGradientBrush, méthode (xpsobjectmodel.h)

Crée une interface IXpsOMLinearGradientBrush .

Syntaxe

HRESULT CreateLinearGradientBrush(
  [in]          IXpsOMGradientStop        *gradStop1,
  [in]          IXpsOMGradientStop        *gradStop2,
  [in]          const XPS_POINT           *startPoint,
  [in]          const XPS_POINT           *endPoint,
  [out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);

Paramètres

[in] gradStop1

Interface IXpsOMGradientStop qui spécifie les propriétés de dégradé au début du vecteur du dégradé. Ce paramètre ne doit pas être NULL.

[in] gradStop2

Interface IXpsOMGradientStop qui spécifie les propriétés de dégradé à la fin du vecteur du dégradé. Ce paramètre ne doit pas être NULL.

[in] startPoint

Le XPS_POINT structure qui contient les coordonnées du point de départ dans un espace à deux dimensions.

[in] endPoint

Le XPS_POINT structure qui contient les coordonnées du point de terminaison dans un espace à deux dimensions.

[out, retval] linearGradientBrush

Pointeur vers la nouvelle interface IXpsOMLinearGradientBrush .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles du tableau qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
Le point spécifié par startPoint ou endPoint n’était pas valide. Les membres de la structure XPS_POINT doivent contenir des valeurs à virgule flottante valides et finies.
E_POINTER
gradStop1, gradStop2, startPoint, figure ou linearGradientBrush a la valeur NULL.
XPS_E_NO_CUSTOM_OBJECTS
gradStop1 ou gradStop1 ne pointe pas vers une implémentation d’interface reconnue. L’implémentation personnalisée des interfaces d’API document XPS n’est pas prise en charge.

Remarques

La région de dégradé d’un dégradé linéaire est la zone comprise entre et y compris les points de début et d’arrivée et s’étendant dans les deux directions à un angle droit du chemin de dégradé. La zone de répartition est la zone de la géométrie qui se trouve en dehors de la région de dégradé.

Les points de dégradé définissent la couleur à des emplacements spécifiques le long du chemin de dégradé. Dans l’illustration, l’arrêt de dégradé 0, spécifié par le paramètre gradStop1 , se trouve au point de début du chemin de dégradé, et l’arrêt de dégradé 1, spécifié par le paramètre gradStop2 , se trouve au point de fin.

Comme le montre l’illustration qui suit, les points de début et de fin d’un dégradé linéaire sont également les points de début et de fin du chemin de dégradé, qui est la ligne droite qui relie ces points.

Figure montrant les termes utilisés dans un dégradé linéaire L’exemple de code qui suit illustre la façon dont cette méthode est utilisée pour créer une interface.

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
}

Configuration requise

Condition requise Valeur
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

IXpsOMGradientStop

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

XML Paper Specification

Erreurs de document XPS

XPS_POINT