Méthode IXpsOMObjectFactory ::CreateRadialGradientBrush (xpsobjectmodel.h)
Crée une interface IXpsOMRadialGradientBrush .
Syntaxe
HRESULT CreateRadialGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *centerPoint,
[in] const XPS_POINT *gradientOrigin,
[in] const XPS_SIZE *radiiSizes,
[out, retval] IXpsOMRadialGradientBrush **radialGradientBrush
);
Paramètres
[in] gradStop1
Interface IXpsOMGradientStop qui spécifie les propriétés du dégradé à l’origine du dégradé. Ce paramètre ne doit pas avoir la valeur NULL.
[in] gradStop2
Interface IXpsOMGradientStop qui spécifie les propriétés du dégradé à la fin du vecteur du dégradé, qui est l’ellipse qui entoure la région de dégradé. Ce paramètre ne doit pas avoir la valeur NULL.
[in] centerPoint
Coordonnées du point central de l’ellipse de gradient radial.
[in] gradientOrigin
Coordonnées de l’origine du dégradé radial.
[in] radiiSizes
Structure XPS_SIZE dont les membres spécifient les longueurs des rayons de la région de dégradé.
La taille est décrite dans unités XPS. Il existe 96 unités XPS par pouce. Par exemple, un rayon de 1 pouce est de 96 unités XPS.
XPS_SIZE Membre | Signification |
---|---|
width | Longueur du rayon le long de l’axe des X. |
height | Longueur du rayon le long de l’axe y. |
[out, retval] radialGradientBrush
Pointeur vers la nouvelle interface IXpsOMRadialGradientBrush .
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles de la table 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 |
|
Le point décrit par centerPoint, radiiSizes ou gradientOrigin n’est pas valide. Les membres de la structure XPS_POINT doivent contenir des valeurs à virgule flottante valides et finies. |
|
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes ou radialGradientBrush a la valeur NULL. |
|
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
Comme le montre l’illustration suivante, la région de dégradé d’un dégradé radial est la zone délimitée par l’ellipse décrite par le point central et les rayons x et y qui s’étendent à partir du point central. La zone de propagation est la zone située à l’extérieur de cette ellipse. Le chemin de dégradé (non affiché) est une ligne radiale qui est dessinée entre l’origine du dégradé et l’ellipse qui limite la région de dégradé.
Pour les pinceaux en dégradé radial, le point de dégradé défini par le paramètre gradStop1 correspond à l’emplacement d’origine du dégradé et à une valeur de décalage de 0,0. Le point de dégradé défini par le paramètre gradStop2 correspond à la circonférence de la région de dégradé et à une valeur de décalage de 1,0. Pour plus d’informations sur les arrêts de dégradé, consultez IXpsOMGradientStop.L’exemple de code qui suit illustre comment cette méthode est utilisée pour créer une interface.
IXpsOMRadialGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT centerPoint, gradientOrigin;
// XPS_SIZE radiiSizes;
// 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->CreateRadialGradientBrush (
gradStop1,
gradStop2,
¢erPoint,
&gradientOrigin,
&radiiSizes,
&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 Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | xpsobjectmodel.h |