Méthode IXpsOMObjectFactory ::CreateGradientStop (xpsobjectmodel.h)
Crée une interface IXpsOMGradientStop pour représenter une définition de couleur et d’emplacement unique dans un dégradé.
Syntaxe
HRESULT CreateGradientStop(
[in] const XPS_COLOR *color,
[in] IXpsOMColorProfileResource *colorProfile,
[in] FLOAT offset,
[out, retval] IXpsOMGradientStop **gradientStop
);
Paramètres
[in] color
Valeur de la couleur.
[in] colorProfile
Pointeur vers l’interface IXpsOMColorProfileResource qui contient le profil de couleur à utiliser. Si le type de couleur n’est pas XPS_COLOR_TYPE_CONTEXT, ce paramètre doit être NULL.
[in] offset
Valeur de décalage.
Plage valide : 0.0–1.0
[out, retval] gradientStop
Pointeur vers la nouvelle interface IXpsOMGradientStop .
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 |
|
La valeur en offset n’est pas valide. |
|
color ou gradientStop a la valeur NULL. |
|
colorProfile a la valeur NULL , mais un profil de couleur est attendu. Un profil de couleur est requis lorsque le type de couleur est XPS_COLOR_TYPE_CONTEXT. |
|
colorProfile 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. |
|
colorProfile contient un profil de couleur, mais il n’est pas attendu. Un profil de couleur n’est autorisé que lorsque le type de couleur est XPS_COLOR_TYPE_CONTEXT. |
Remarques
Les points de dégradé sont utilisés pour définir la couleur à un emplacement spécifique ; la couleur est interpolée entre les points de dégradé. Le décalage, qui est spécifié par offset, est une position relative entre les points de début et de fin du dégradé. Le décalage au point de départ d’un dégradé linéaire ou à l’origine d’un dégradé radial est de 0,0. Le décalage du point de terminaison d’un dégradé linéaire ou de l’ellipse englobante d’un dégradé radial est de 1,0. Les points de dégradé peuvent être spécifiés pour n’importe quel décalage entre ces points, y compris les points de début et de fin. L’illustration suivante montre le chemin d’accès et les points de dégradé d’un dégradé linéaire.
L’illustration suivante montre les points de dégradé d’un dégradé radial. Dans cet exemple, la région de dégradé radiale est la zone entourée par l’ellipse externe et la méthode de répartition XPS_SPREAD_METHOD_REFLECT est utilisée pour remplir l’espace à l’extérieur de la région de dégradé. L’interface IXpsOMGradientStop spécifie un seul arrêt dans un dégradé.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 illustre la façon dont cette méthode est utilisée pour créer une 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 |