Metodo IXpsOMObjectFactory::CreateRadialGradientBrush (xpsobjectmodel.h)
Crea un'interfaccia IXpsOMRadialGradientBrush .
Sintassi
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
);
Parametri
[in] gradStop1
Interfaccia IXpsOMGradientStop che specifica le proprietà della sfumatura in corrispondenza dell'origine della sfumatura. Questo parametro non deve essere NULL.
[in] gradStop2
Interfaccia IXpsOMGradientStop che specifica le proprietà della sfumatura alla fine del vettore della sfumatura, ovvero l'ellisse che racchiude l'area del gradiente. Questo parametro non deve essere NULL.
[in] centerPoint
Coordinate del punto centrale dell'ellisse della sfumatura radiale.
[in] gradientOrigin
Coordinate dell'origine della sfumatura radiale.
[in] radiiSizes
Struttura XPS_SIZE i cui membri specificano le lunghezze dei raggi dell'area sfumatura.
Le dimensioni sono descritte in unità XPS. Ci sono 96 unità XPS per pollice. Ad esempio, un raggio 1" è 96 unità XPS.
XPS_SIZE Membro | Significato |
---|---|
width | Lunghezza del raggio lungo l'asse x. |
height | Lunghezza del raggio lungo l'asse y. |
[out, retval] radialGradientBrush
Puntatore alla nuova interfaccia IXpsOMRadialGradientBrush .
Valore restituito
Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non solo, quelli nella tabella che segue. Per informazioni sui valori restituiti dell'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Il punto descritto da centerPoint, radiiSizes o gradientOrigin non è valido. I membri della struttura XPS_POINT devono contenere valori a virgola mobile validi e finiti. |
|
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes o radialGradientBrush è NULL. |
|
gradStop1 o gradStop1 non punta a un'implementazione dell'interfaccia riconosciuta. L'implementazione personalizzata delle interfacce API documento XPS non è supportata. |
Commenti
Come illustrato nella figura seguente, l'area sfumatura di una sfumatura radiale è l'area racchiusa dall'ellisse descritta dal punto centrale e dal raggio x e y che si estendono dal punto centrale. L'area di diffusione è l'area all'esterno di quell'ellisse. Il percorso sfumato (non visualizzato) è una linea radiale disegnata tra l'origine della sfumatura e l'ellisse che delimita l'area del gradiente.
Per i pennelli a sfumatura radiale, l'interruzione sfumatura impostata dal parametro gradStop1 corrisponde alla posizione di origine della sfumatura e un valore di offset pari a 0,0. L'interruzione sfumatura impostata dal parametro gradStop2 corrisponde alla circonferenza dell'area del gradiente e un valore di offset pari a 1,0. Per altre informazioni sulle interruzioni sfumature, vedere IXpsOMGradientStop.Nell'esempio di codice seguente viene illustrato come viene usato questo metodo per creare una nuova interfaccia.
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
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | xpsobjectmodel.h |